skip to content
barorin&?

cronの書き方

/ 2 min read

はじめに

たまに書こうと思ったときに「どうするんだっけ?」となってしまう cronの書き方をまとめてみました。

cronの基本

# 編集
crontab -e

# 確認だけしたいとき
crontab -l

基本書式

分 時 日 月 曜日 コマンドパス

  • 分: 0~59
  • 時: 0~23
  • 日: 1~31
  • 月: 1~12
  • 曜日: 0~7(0:日, 1:月, 2:火, 3:水, 4:木, 5:金, 6:土, 7:日)

時間指定の例

  • すべてを指定したい(毎時など): *
  • 15分ごとに実行: 分部分で0,15,30,45または*/15
  • 月~金曜日で実行: 曜日部分で1-5
  • 1時、3時、20 ~ 23時で実行: 時間部分で1,3,20-23
  • 1時、3時、5時で実行: 時間部分で1-5/2

(おまけ)複数コマンドを実行したい場合

;で区切る。

(おまけ)タイムゾーンを指定したい場合

サーバーのタイムゾーンに関係なく、cronを実行するときのタイムゾーンを指定できます。

CRON_TZ=Asia/Tokyo

(おまけ)ログを出力したい場合

1が標準出力、2が標準エラー出力です。

>> /tmp/cron.log 2>&1

毎日05:30(JST)に/home/hogeに移動後、get_huga.pyを実行し、 標準出力・標準エラー出力を/home/hoge/log/cron.logに記録する。

CRON_TZ=Asia/Tokyo
30 5 * * * cd /home/hoge; python get_huga.py >> /home/hoge/log/cron.log 2>&1