skip to content
barorin&?

cronの書き方

/ 2 min read

Updated:
Table of Contents

はじめに

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

cronの基本

Terminal window
# 編集
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に記録する。

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