1

ここでSOFに関するすべての回答を見てきましたが、何がうまくいくかわかりませんでした。

私の目標:

最後の使用から 55 分後に EC2 QA サーバーを停止させる

私の戦略:

リモート マシンが使用されるたびに、最初に実行されているかどうかがチェックされます。その場合は、次の手順を実行します。

  1. マシンに ssh する
  2. run 'sudo shutdown -c' #最後の保留中のシャットダウンをクリアします
  3. run 'sudo shutdown -h +55' # 55 分間のシャットダウンのタイマーを再起動します
  4. 出口

私のスクリプトのビジネスについて行く

機能するもの:

すべてのコマンドは、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 回続けて発行して、クリアできると思います。

もっと完全でクリーンなものはありますか?

ティア

4

1 に答える 1