定期再起動cronジェネレーター
ゲームサーバーの定期再起動などの「決まった時刻に実行」を、頻度と時刻の選択からcrontabの行として生成します。 あわせてsystemdタイマーで組む場合のOnCalendar値も表示します。
予告なしの再起動は参加者の作業を巻き込みます。実運用では、事前アナウンスと組み合わせてください (例: ASAの予告つき定期再起動。 systemdユニットの組み方は自動起動・自動再起動の記事へ)。
生成結果
crontabの行
crontab -eで開いた編集画面の末尾に追記します。
# 毎日 5:00 に実行
0 5 * * * /usr/bin/docker restart mc-server
systemdタイマーで組む場合(OnCalendar値)
*-*-* 05:00:00
条件を選ぶ
- cronは
PATHが最小限のため、コマンドは/usr/bin/dockerのようにフルパスで書くのが安全です(which dockerで確認できます) - 毎月の日付は、31日や30日が無い月に実行されない事故を避けるため1〜28日に制限しています
- 「N時間ごと」は0時起点です(例: 6時間ごと・分0なら 0:00・6:00・12:00・18:00)
crontab行の解読(逆読み)
手元のcrontab -lに並んでいる行の意味を確認できます。 行を貼り付けると、いつ実行されるかを日本語で表示します(@dailyなどの別名にも対応)。
書式の意味
crontabの5つの欄は左から「分 時 日 月 曜日」です(*は毎回、*/NはNごと)。
プレイヤーがいる時間帯を避けた設定にできたら、自動起動・自動再起動の記事の安全停止(RCON)とあわせて、 落ちても戻ってくる運用を整えてください。