GNU/Linux >> Znalost Linux >  >> Linux

Po spuštění instance EC2 spusťte bash skript

Řešení 1:

Navrhoval bych použít pouze možnost uživatelských dat ec2-run-instances . Umožňuje vám dát virtuálnímu počítači nějaký skript, který se spustí při prvním spuštění. Pokud používáte ubuntu nebo debian, můžete použít cloud-init, který proces pěkně vylepší. Pokud používáte cloud-init, můžete použít [runcmd] části konfiguračního souboru specifikovat libovolné příkazy, které se mají spustit po spuštění.

Děkujeme uživateli SF Ericu Hammondovi za stránku s uživatelskými údaji. Podívejte se na jeho stránku – obsahuje spoustu informací o AWS.

Edit:Po opětovném přečtení není jasné, zda jste chtěli spustit příkaz při prvním spuštění nebo při každém spuštění. Výše uvedené pokyny platí pouze pro počáteční spuštění. Pokud chcete spustit příkaz při každém spuštění, máte několik možností – příkaz můžete spustit pomocí @reboot cron, případně můžete skript přidat do /etc/rc.local , který se spustí při každém spuštění systému.

Řešení 2:

Pokud jste používali rozhraní AMI, které mělo cloud-init nainstalovaný balíček (jako Amazon Linux nebo Ubuntu), pak byste mohli jednoduše předat bash skript (který začíná #!) jako soubor uživatelských dat a ten by se automaticky spustil na konci zaváděcího procesu.

Může to být například tak jednoduché:

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

Zde je článek, kde jsem představil koncept skriptu uživatelských dat, který je nyní dostupný v hlavních rozhraních EC2 AMI, jako je Amazon Linux a Ubuntu:http://alestic.com/2009/06/ec2-user-data-scripts

Bohužel to vypadá, že chcete použít RHEL AMI. Spustil jsem jeho kopii a nenašel jsem žádné odkazy na cloud-init nebo spouštění skriptů uživatelských dat při prvním spuštění, ani jsem neprovedl test stejné práce.

Neříkám, že byste kvůli tomu měli přepínat linuxové distribuce, ale Amazon Linux je založen na RHEL, takže by vám to mohlo fungovat.

Zde je článek, který jsem napsal a který vám může pomoci odladit skript uživatelských dat, pokud nefunguje napoprvé:http://alestic.com/2010/12/ec2-user-data-output


Linux
  1. spouštěcí skript utorrent / spouštění utorrentu při spouštění – Ubuntu 14.04 / 14.10

  2. Jak spustit příkazy bash Linuxu ve skriptu PERL?

  3. Ssh – Jak spustit skript ihned po připojení přes Ssh?

  1. Skript Init.d není spuštěn při spouštění?

  2. Spusťte skript pomocí rc.local:skript funguje, ale ne při spouštění

  3. Shell Script, čtěte na stejném řádku po ozvěně zprávy

  1. Povolení bash.sh ke spuštění cronu odepřeno

  2. Spusťte příkaz bash na jenkins pipeline

  3. Spusťte část bash skriptu jako jiný uživatel