Rundeckでローカルサーバーを再起動するJobを作る

初めに

お豆腐サーバーではジョブスケジューラーのRundeckでサーバーの再起動やウイルススキャンなどの定期実行するコマンドを制御しているのですが、サーバーの再起動を実行するJobに問題がありしばらくの間サーバーの再起動ができていないことが発覚しました。問題を修正したのでメモとして残します。

原因

原因は最後に実行するコマンドの終了コードが返ってくる前にRundeckが終了していることにありました。コマンドの終了コードが返ってこないため再起動後もJobが終了しません。複数起動しないよう設定しているJobのため次回走行分から再起動Jobが走行せずサーバーが再起動しないという事象が発生していました。このJobには長時間走行したままの場合タイムアウトして終了するようにしていたのですが再起動の影響かこの機能は動いていませんでした。

対策

単純に実行するコマンドを書き換えます。終了コードが返ってこないのが原因なので次のように修正します。
sudo reboot        > sudo shutdown -r +1
こうすると終了コードがシャットダウン前に帰ってくるのでJobが終了し次回走行も問題ありません。

あとがき

Rundeckは国内の記事が少ないので扱いが少し大変。
ほかにもやる気がでたら書きたい。

コメント

タイトルとURLをコピーしました