xutil.dev
ログイン

Cron式 チートシート

cron構文のクイックリファレンス。フィールド構文、特殊文字列、フィールド値、時間指定例、システムタスク、バックアップタスク、環境変数、トラブルシュートを網羅

60 件のコマンド

* * * * * command

毎分実行(分 時 日 月 曜日)

crontab -e

現在のユーザーのcrontabを編集

crontab -l

現在のユーザーのcrontabを表示

crontab -r

現在のユーザーのcrontabを削除

crontab -u {user} -e

指定ユーザーのcrontabを編集

crontab -u {user} -l

指定ユーザーのcrontabを表示

/etc/crontab

システムcrontabファイル(ユーザー指定あり)

/etc/cron.d/

追加のcronジョブ定義ディレクトリ

@reboot

システム起動時に1回実行

@yearly / @annually

年1回実行(1/1 0:00)

@monthly

月1回実行(毎月1日 0:00)

@weekly

週1回実行(日曜 0:00)

@daily / @midnight

日1回実行(毎日 0:00)

@hourly

毎時実行(毎時 0分)

* (asterisk)

全ての値にマッチ

, (comma)

複数の値を列挙

- (hyphen)

値の範囲を指定

/ (slash)

ステップ値(間隔指定)

分: 0-59

分フィールドの範囲

時: 0-23

時フィールドの範囲

日: 1-31

日フィールドの範囲

月: 1-12 / JAN-DEC

月フィールドの範囲

曜日: 0-7 / SUN-SAT

曜日フィールドの範囲(0と7=日曜)

*/5 * * * *

5分ごとに実行

*/15 * * * *

15分ごとに実行

0 * * * *

毎時0分に実行

0 */2 * * *

2時間ごとに実行

0 9 * * *

毎日9:00に実行

0 9-17 * * 1-5

平日の9時〜17時に毎時実行

30 2 * * *

毎日2:30に実行

0 0 * * 0

毎週日曜0:00に実行

0 0 1 * *

毎月1日の0:00に実行

0 0 1 1 *

毎年1月1日の0:00に実行

*/5 * * * * ... >/dev/null 2>&1

出力を破棄して実行

0 3 * * * ... >> /var/log/cron.log 2>&1

ログファイルに出力を追記

0 2 * * * apt-get update

毎日2:00にパッケージリストを更新

0 4 * * * find /tmp -mtime +7 -delete

7日以上前の一時ファイルを削除

*/10 * * * * /usr/bin/certbot renew

SSL証明書の更新をチェック

0 6 * * * systemctl restart nginx

毎日6:00にNginxを再起動

*/2 * * * * /path/to/healthcheck.sh

2分ごとにヘルスチェックを実行

0 1 * * * mysqldump ...

毎日1:00にMySQLバックアップ

0 2 * * * pg_dump ...

毎日2:00にPostgreSQLバックアップ

0 3 * * * tar czf ...

毎日3:00にディレクトリをアーカイブ

0 4 * * * rsync -avz ...

毎日4:00にリモート同期バックアップ

0 0 * * 0 find /backup -mtime +30 -delete

毎週日曜に30日以上前のバックアップを削除

0 5 * * * aws s3 sync ...

毎日5:00にS3へバックアップ同期

SHELL=/bin/bash

cron実行シェルを指定

PATH=...

PATHを明示的に設定

MAILTO=user@example.com

cron出力のメール送信先を設定

MAILTO=""

cron出力のメール送信を無効化

HOME=/home/user

ホームディレクトリを設定

CRON_TZ=timezone

cronのタイムゾーンを設定

grep CRON /var/log/syslog

cronログを確認

journalctl -u cron

systemdでcronログを表示

systemctl status cron

cronサービスの状態を確認

systemctl restart cron

cronサービスを再起動

run-parts --test /etc/cron.d/

cron.dのスクリプトをテスト実行

date

サーバーの現在時刻を確認

which {command}

コマンドのフルパスを確認

env -i /bin/bash -c 'command'

最小環境でコマンドをテスト