SSH接続はbashプロセスを開始しますが、Amazon EC2インスタンスでインスタンスを起動した直後にプロセスを開始しようとします。

SSH接続はbashプロセスを開始しますが、Amazon EC2インスタンスでインスタンスを起動した直後にプロセスを開始しようとします。

AWSは私のインスタンスのAMIを作成し、私と同じ設定を使用してサーバーを起動したいチームメンバーと共有しました。また、バックグラウンドでtmuxを起動し、Pythonスクリプトをトリガーするbashスクリプトを作成しました。ただし、チームメンバーがインスタンスを起動すると、必要な設定で自分のサーバーにアクセスできます。ただし、bashスクリプトは、新しく構築されたインスタンスに対してsshを実行しない限り実行されません。このアプローチにどのような問題があるのか​​わかりますか?どんな提案や回答でもいただければ幸いです。ティア

答え1

AMIを作成する前に、Crontabでbashスクリプトを定義できます。したがって、新しいイメージが作成され、開かれると、Crontab bash スクリプトが実行されます。 crontabファイルに次のパラメータを追加できます。

nano /etc/crontab

一番上の行に次の行を追加します。

PATH=/bin:/usr/local/bin

結論として、以下を追加できます。

@reboot /dir/to/your-script.sh >> /home/user/logs/crontab.log 2> & 1

一番上の行は次のとおりです。PATH = / bin:/ usr / local / bin

最後の行に以下を追加できます。@reboot /dir/to/your-script.sh >> /home/user/logs/crontab.log 2> & 1

">>"記号を使用すると、crontabジョブの結果をシステムのデフォルトの電子メールではなく関連ディレクトリの.logファイルに送信できます。

関連情報