Crontab

Crontab
サーバー上で root 権限として実行されるスケジューラのジョブです(「sudo crontab -e」と同じ)。パネルから編集できるのはここで追加したジョブのみです。root-crontab に既に存在するその他の行は、以下に表示のみで示されます。
Crontab (2)
スケジュール コマンド 説明 ステータス 操作
0 5 * * * /usr/local/bin/custom-backup.sh >> /var/log/arciveo-cron.log 2>&1 Nightly backup to remote storage
*/15 * * * * /usr/local/bin/healthcheck.sh Ping external uptime monitor
サーバーのその他のジョブ(表示のみ) (12)
コマンド
30 1 * * * /usr/local/bin/clamav-scan.sh >> /var/log/arciveo-cron.log 2>&1
0 2 * * * /usr/bin/aide --config /etc/aide/aide.conf --check > /var/log/aide/aide.log 2>&1
@reboot chmod 755 /var/lib/aide
0 3 * * * /usr/local/bin/lynis-scan.sh >> /var/log/arciveo-cron.log 2>&1
0 4 * * * /usr/local/bin/load-ipsum.sh >> /var/log/arciveo-cron.log 2>&1
@reboot sleep 60 && /usr/local/bin/load-ipsum.sh >> /var/log/arciveo-cron.log 2>&1
30 4 * * * /usr/local/bin/debsums-scan.sh >> /var/log/arciveo-cron.log 2>&1
0 6 * * * /usr/local/bin/logwatch_daily.sh >> /var/log/arciveo-cron.log 2>&1
0 8 * * * /usr/local/bin/daily-report-all.sh >> /var/log/arciveo-cron.log 2>&1
*/30 * * * * /usr/local/bin/smart-scan.sh >> /var/log/arciveo-cron.log 2>&1
0 * * * * /usr/bin/apt-get update -qq >/dev/null 2>&1
*/5 * * * * /usr/local/bin/collect-metrics-all.sh >> /var/log/arciveo-cron.log 2>&1
パネルのブロック外で root-crontab にすでに存在する行です。「エディターにコピー」はフォームに入力するだけで、元の行は削除されません。移行後は SSH で手動で削除してください。

SSH での crontab -e に代わる crontab の Web UI

cron は自分について何も語りません。ジョブが失敗したことを知らせず、最後に実行されたのがいつかも示さず、スケジュールの五つの欄に書いた文法の誤りが表に出る場所もありません。形式上はローカルユーザー宛てにメールを送りますが、外向きのメールを一度も設定していないサーバーでは、その文面を読む人はいません。ジョブは何か月も壊れたまま放置されえて、それを明るみに出すのは結果のほうです。

このページはパネルから追加したジョブを表示します。スケジュール、コマンド、説明、状態が並び、端末を開かずに有効化・無効化・削除ができます。その下には別の一覧として root crontab の残りの行、つまり以前にご自身や導入済みのパッケージが書き入れた行が並びます。そちらは読み取り専用です。パネルは自分が書いていないものを意図的に編集しません。

ここで確かめる価値があるのは三点です。出力が /dev/null 2>&1 へ流れるジョブは、正常なときも壊れたときも同じように黙ります。フルパスではなく短い名前で書いたコマンドは、お使いのシェルとは違う振る舞いをします。cron は独自の、きわめて乏しい PATH を持つからです。そしてスケジュールそのもの。デバッグのために一度切ったジョブは、たいていそのまま切られたままになります。侵入の疑いが生じたあとにも cron は読む価値があります。スケジューラー経由で居座るほうが起動ユニット経由より容易で、しかもその一行はごく平凡に見えるからです。