ここでSOFに関するすべての回答を見てきましたが、何がうまくいくかわかりませんでした。
私の目標:
最後の使用から 55 分後に EC2 QA サーバーを停止させる
私の戦略:
リモート マシンが使用されるたびに、最初に実行されているかどうかがチェックされます。その場合は、次の手順を実行します。
- マシンに ssh する
- run 'sudo shutdown -c' #最後の保留中のシャットダウンをクリアします
- run 'sudo shutdown -h +55' # 55 分間のシャットダウンのタイマーを再起動します
- 出口
私のスクリプトのビジネスについて行く
機能するもの:
すべてのコマンドは、1 と 2 でローカルに機能します。3 と 4 は、以下で説明するように部分的なものです。
機能しないもの:
新しいシャットダウン停止を呼び出す行は、ssh 接続がシャットダウンするのを待ちます。これは、最後に「&」がないコマンドのバージョンでは決して行われません。
私が試したこと:
echo "nohup sudo shutdown -h +55; exit" | ssh -i $HOME/.ec2/cert_name root_user_name@ipad.dress
echo "nohup sudo shutdown -h +55& exit" | ssh -i $HOME/.ec2/cert_name root_user_name@ipad.dress
echo "sudo shutdown -h +55& exit" | ssh -i $HOME/.ec2/cert_name root_user_name@ipad.dress
ssh -i $HOME/.ec2/cert_name root_user_name@ipad.dress nohup sudo shutdown -h +55
ssh -i $HOME/.ec2/cert_name root_user_name@ipad.dress nohup sudo shutdown -h +55; 出口
どのような種類の作品:
ssh -i $HOME/.ec2/cert_name root_user_name@ipad.dress nohup sudo shutdown -h +55&
ssh -i $HOME/.ec2/cert_name root_user_name@ipad.dress sudo shutdown -h +55&
「並べ替え」とは:
部分的に成功したコマンドは、シャットダウンを設定し、ssh を正常に終了します。しかし、それらは、REMOTE 画面での最後のコマンド結果で LOCAL 画面バッファーを埋めます。そして、スクリプトの次のコマンドの結果が表示されます。
'echo "flushing buffer"' を 2 回続けて発行して、クリアできると思います。
もっと完全でクリーンなものはありますか?
ティア