cron

参考:

Man page of CRON | JM Project

Man page of CRONTAB (1) | JM Project

Man page of CRONTAB (5) | JM Project

使い方

現在の設定を確認する。

$ crontab -l

設定を編集する。

$ crontab -e

設定項目は次のような書式になっている。

m h D M wday command

何分おき、何時間おきなどは */n で設定する。複数の時間を設定する場合は、0,12 のようにコンマで区切って並べる。範囲を指定する場合は 8-18 のようにハイフンで繋げて記述する。* は各項目内で first-last の意味となる。スラッシュとハイフンは併用できる。曜日は 07 で設定し、0 及び 7 は日曜日を表す。

参考:

cron の設定方法 – Qiita

crontab の設定方法について | さっしーブログ

crontab コマンドについてまとめました | エンジニアの入り口

まとめ

参考:

いまさら crontab のメリットと書き方を見直す | それマグで!

crontab コマンドの使い方 | UNIX/Linux の部屋

運用

  • crontab -ecrontab -r と打ち間違える危険がある。
  • エイリアスで -i オプションを強制する。(BSD 版には -i オプションはない。)
  • 別の設定ファイルを作成し、常にその設定ファイルから設定を読み込む。

参考:

crontab -e は「絶対に」使ってはいけない | ろば電子が詰まつてゐる

crontab のガイドライン – Qiita

Bash の profile を読み込む

bash コマンドに -l オプションを付けてログインシェルとして起動し、-c オプションにシェルコマンドを渡して実行する。

* * * * * /usr/local/bin/bash -l -c "env > /tmp/cron_env"

参考:

cron ジョブを作るのにいつものやり方でいいんですか? – Qiita

cron で実行時に環境変数を読み込む – Qiita

Crontab で source ~/.bashrc や bash -l を使うと死を招く – Qiita

ログインシェル

参考:

ログインシェルとインタラクティブシェルと ~/.bashrc 達の関係 – Qiita

shebang

参考:

Bash shebang option -l – Stack Overflow

環境変数

参考:

crontab の環境変数 PATH について調べてみた | DQNEO 起業日記

cron の環境変数について – Qiita

cron から pyenv の Python を使う

参考:

python スクリプトを cron で自動実行したいときに気をつけること | きゃべログ

Whenever

参考:

javan/whenever: Cron jobs in Ruby – GitHub

タグ:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です