SSHを介してサーバーに接続し、SSHセッションからログアウトしても、更新コマンドを実行し続けます。

SSHを介してサーバーに接続し、SSHセッションからログアウトしても、更新コマンドを実行し続けます。

まあ、このような質問をたくさん見ましたが、ほとんどの概念を明確にする理論的な答えがありますが、まだコードに移すことはできません。

bashスクリプトを使用して達成したいのは、ループを使用することです。

  1. sshファイルに記載されているサーバーへ(完了)

  2. 各デバイスでアップデートおよびアップグレードコマンドを実行します。

  3. Exit asaコマンドが実行されましたが、そのコマンドはサーバー上で実行する必要があります。

現在、このタスクを実行するために一般的なスクリプトを使用すると、すべてのシステムを更新できますが、常に更新できます。アップデートとアップグレードが完了したときにのみシャットダウンされるsshため、一度に1つのシステムしか更新されません。 (不要な操作を避けるために、アクションは画面sshに表示されます)/dev/null

これを行うにはnohup、/ tmuxなどのオプションがありますが、screen...上記の結果を達成するためにこれらのオプションを使用する方法がわかりません!

これをどのように実装できますか?

答え1

update.shマシンで実行するスクリプトを準備します。screen内部で実行してみてくださいssh

ssh user@host "screen -a -d -m -l -U /usr/local/sbin/update.sh"

利益。別々の画面セッションで更新スクリプトを実行し、update.shが終了するとすぐに終了します。

関連情報