GNU/Linux >> Linux Esercitazione >  >> Linux

Esegui uno script bash dopo l'avvio dell'istanza EC2

Soluzione 1:

Suggerirei semplicemente di usare l'opzione user-data per ec2-run-instances . Ti consente di fornire uno script di qualche tipo alla VM che verrà eseguito al primo avvio. Se stai usando ubuntu o debian, puoi usare cloud-init, che mette un po' di rifinitura nel processo. Se usi cloud-init, puoi usare [runcmd] sezione del file di configurazione per specificare comandi arbitrari da eseguire dopo l'avvio.

Grazie all'utente SF Eric Hammond per la pagina dei dati utente. Dai un'occhiata al suo sito:contiene molte informazioni su AWS.

Modifica:dopo aver riletto, non è chiaro se si desidera eseguire un comando all'avvio iniziale o ad ogni avvio. Le istruzioni di cui sopra si applicano solo all'avvio iniziale. Se vuoi eseguire un comando a ogni avvio, hai un paio di opzioni:puoi eseguire un comando tramite @reboot direttiva cron, o in alternativa puoi aggiungere lo script a /etc/rc.local , che verrà eseguito a ogni avvio del sistema.

Soluzione 2:

Se stavi utilizzando un'AMI con cloud-init pacchetto installato (come Amazon Linux o Ubuntu), puoi semplicemente passare lo script bash (che inizia con #!) come file di dati utente e verrebbe eseguito automaticamente alla fine del processo di avvio.

Ad esempio, potrebbe essere semplice come:

ec2-run-instances                             \
  --user-data-file /home/root/beginProcess.sh \
  --key $USER                                 \
  ami-XXXXXXXX

Ecco l'articolo in cui ho introdotto il concetto di script dati utente, ora disponibile nelle principali AMI EC2 come Amazon Linux e Ubuntu:http://alestic.com/2009/06/ec2-user-data-scripts

Sfortunatamente, sembra che tu voglia utilizzare un'AMI RHEL. Ne ho eseguito una copia e non sono riuscito a trovare alcun riferimento a cloud-init o all'esecuzione di script di dati utente al primo avvio, né un test dello stesso lavoro ha funzionato.

Non sto dicendo che dovresti cambiare distribuzione Linux solo per questo, ma Amazon Linux è basato su RHEL, quindi potrebbe funzionare per te.

Ecco un articolo che ho scritto che potrebbe aiutarti a eseguire il debug dello script dei dati utente se non funziona la prima volta:http://alestic.com/2010/12/ec2-user-data-output


Linux
  1. script di avvio utorrent / esegui utorrent all'avvio – Ubuntu 14.04 / 14.10

  2. Come eseguire un comando bash Linux in uno script PERL?

  3. Ssh:come eseguire uno script immediatamente dopo la connessione tramite Ssh?

  4. Come eseguire uno script di shell su una console Unix o un terminale Mac?

  5. Esegui lo script con rc.local:lo script funziona, ma non all'avvio

Come eseguire uno script Bash {7 metodi}

Come eseguire uno script all'avvio in Debian 11

Come eseguire uno script Bash

Esegui parte di uno script bash come utente diverso

I comandi in uno script bash vengono eseguiti in parallelo o uno dopo l'altro?

Come posso eseguire un comando dopo l'avvio?