サーバーの自動シャットダウン

ども。
3連休を利用して南の島に逃避行していた担当ちゅんです。

さて、そんな連休ではあったのですが、11月1日をもって運用が終了となるサーバーがありました。Windows Server 2003 で運用していたのですが、MSのサポート終了前になんとか停止させることができます。
通常、サーバーをシャットダウンするには、直接モニタを見ながら操作をして終了させるのですが、なにせ逃避行中です。出先からリモート操作できるほど庁舎のセキュリティはヤワではありません。困ってしまいました。他の職員に頼めば済むのですが、方や遊びに行く人間がどの面を下げて頼めるというのか・・・。

人間、やはりそんな状況の時に1歩成長するものです。「そうだ、タスクを組もう!」と思い立ちました。
あらかじめ決められた日時にコンピュータをシャットダウン、もしくは再起動しなければならない場面というのは結構あります。例えば、電気の保守点検に伴う停電などもそうです。そのとき、現場で時間を気にしながら焦って作業せずとも、事前にタスクを組んでおけば、職員はただその様子を見にきて、停電復旧後に慎重に起動させるだけでよいのです。

Windowsベースのコンピュータであれば、標準機能の「タスク スケジューラ」を使います。タスクの開始は「1回限り」とし、日時を指定。起動プログラムには「C:WindowsSystem32shutdown.exe」、引数に「-s」を指定します。終了を起動するという訳のわからない話ですが、コンピュータの世界ではこれが普通のことに思えるのが不思議です。
通常はこれだけで指定の日時になればシャットダウンがかかります。ですが、ここで「絶対に失敗しないコツ」があります。何しろ私は南の島・・・。失敗は許されません。

そのコツとは引数に「-f」を追加しておくこと。これはプロセスの強制終了。システム終了を妨げるアプリケーションがあった場合(たとえば「保存しますか?」ダイアログなど)有無を言わさず終了させます。これが無くてもきっとうまくいくとは思いますが、あれば安心です。
さらに、「-t 30」を記載して、タスク開始からプログラム起動まで30秒間待つ設定も精神安定的に有効かと。サーバーなので特に必要ないかもしれませんが、スリープやサスペンドからの復旧直後にシャットダウンは気持ちが悪いですよね。

というわけで、休日前の「仕込み」をして、見事シャットダウンに成功。出勤後、システムにアクセスできないのを確認して、小さくガッツポーズするという通常時と真逆な行動をとるに至ったのでした。
ちなみに、引数「-s」の代わりに「-r」としておくと再起動させることも可能です。長時間稼働すると不安定になるシステムは、このタスクで定期的に再起動させてあげれば担当者の労力を減らすことができそうですね。

SS
私ごとですが、11月1日より職場がひとつ増えました。ブログは今後も継続しますのでよろしくお願いします。

(投稿者:ちゅん)


カテゴリー: つぶやき パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です