リモートに配置されたUbuntuサーバーでの再起動のスケジュール


17

私は普段は行かない場所にあるubuntuサーバーで作業しています。openvpnではなくsshを使用してアクセスします。マシンには、複数の有線インターフェース、多くの静的ルート、およびWANへの複数のデフォルトゲートウェイがあります。インターフェースのアドレスとルートを頻繁に変更します。ほとんどの場合、私が行う変更は一時的なものです。再起動すると、行った実験がリセットされます。場合によっては、それらの変更の一部が間違っており、マシンがオフラインになっています。そのような場合、マシンがリブートするようにサーバーが配置されている場所で誰かを呼び出す必要がありました。

次に、再起動をスケジュールします。2時間後に、マシンが再起動サイクルに入るはずです。そして、この2時間で、私が望む一時的な実験を何でもすることができます。すべての一時的な変更が成功した場合、「2時間後」の再起動が発生しないようにする必要があります。だから私が欲しいのは:

  1. certian時間後に再起動するようにサーバーに指示する方法は?
  2. マシンをリブートしないと判断した場合、キャンセルできます。

回答:


14

shutdown -r 10 Waiting 10 minutes before the restart&サーバーを10分で再起動する端末タイプで、それを説明するメッセージをブロードキャストし、control + cを押すと再起動要求が中断されます。

shutdown -r 18:00 Rebooting at 18:00 hours&サーバーを18:00時間に再起動する端末タイプでは、それを説明するメッセージをブロードキャストし、control + cで中断できます。

を使用して、「動作中の」端末でシャットダウン/再起動要求を中断することもできますshutdown -a


2
これは対話型であり、実行中のシェルをブロックするため、少し問題があります。セッションがドロップした場合、これがSSHで予測どおりに機能するかどうかはわかりません。
アランオディア

私は、任意の組み合わせで見つけることができなかったnohupし、sudo実行した場合、通常のadminグループのユーザーとして通常のSSHセッションからこの仕事になるだろう。
–HDave

これをScreenと組み合わせて実行して、コマンドを適用し、sshセッションをドロップできますか?
アンディデイヴィス

30

at再起動のスケジュール設定にも使用できます。たとえばsudo at 22:00、ルートとして22:00にコマンドを実行します。次に、実行するコマンドを入力します:/sbin/shutdown -r nowで終わりctrl-dます。このコマンドを実行しないことにした場合は、実行sudo atrm 1してatキュー内の最初のコマンドを削除します。とsudo atqキューを見ることができます。


このソリューションは完璧です!
スキマスイッチ

5
これは正解としてマークする必要があります!atコマンドのファミリーは、すべてのサーバー管理者が知っておくべきものです。
–HDave

2
at初めて使用する場合は、最初に実行しsudo at 22:00ます。これにより、一種のシェルが表示されます。次に、コマンドを入力しctrl-dて終了します。mixeduperic.com/ubuntu/…
ティムリチャードソン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.