ソーダ色の研究

フロントやらバックやらなんやら

cronで定期的にプログラムを実行する

cronとは

cronとは、多くのUNIX系OSで標準的に利用される 常駐プログラムデーモン )の一種で、利用者の設定したスケジュールに従って指定されたプログラムを定期的に起動してくれるもの。

  • crontabファイルに書かれたスケジュールに従って、決まった日時に指定したプログラム(phpとかシェルスクリプトとか)を実行できる。
  • unix系なのでwindowsは無理っぽい

cronの登録

$ crontab -e

上記コマンドでシステム指定のエディタが開く(viとか)

00 10 * * * /home/usermei/hogehoge.sh

上記のような命令を記述する。上記は毎日10:00にhogehoge.shを実行するというもの。

書き方

  • 左から順に、分・時・日・月・曜日・コマンドの順に記入する
  • 曜日は0と7は日曜、1以降は順に、月、火、水、木、金、土
  • コマンドは必ず、フルパスかカレントディレクトリからの相対パスにする
* * * * *        毎分実行
00 10 * * *      10:00に実行
0 10 * * 1       毎週月曜10:00に実行
0 10 * * 0,1,2   毎週日,月,火の10:00に実行
*/10 * * * *    10分おきに実行
00 10 1,15 * *  1日と 15日の10:00に実行

登録済みのcronの確認

$ crontab -l

登録済みのcron全削除

$ crontab -r
  • 間違って実行しちゃうと全部消えちゃう

注意点

  • スクリプトのパスに気をつけること。
  • 近い時間帯で必ずテストすること。
  • cronするスクリプトは、登録する前に必ず手で叩いて実行すること。
  • crontab -r