Quantcast
Viewing all articles
Browse latest Browse all 2722

CronTabを作成してみる

Crontabとは

JOBを定期的に実行してくれるコマンドです。

登録方法

Cronの設定ファイルに記載することで実行してもらえます。
設定ファイルの起動は以下。

$ crontab -e

こちらを実行するとエディタが開かれるので、
一番下に実行したいコマンドを記載。
今回はShellScriptを記載し、それを定期実行するCronTabを設定しました。
なお、ShellScriptはchmodで権限を755にしておくこと。

*/5 **** ./home/vagrant/test.sh

Cron設定ファイルの記載方法

「時間 実行するコマンド」と記載します。
時間は左から「分 時間 日 月 曜日」で記載します。
時は24時間表記、曜日は0から6まで日曜日から土曜日までに対応し、さらに7はまた日曜に対応。
また、ワイルドカードの使用、間隔の指定が可能です。

書き方意味
00 8 1 * *毎月1日の8時に定期実行
*/1 * * * *毎分定期実行
00 12 * * * 1毎週月曜日に定期実行

登録されているCrontabの確認

Crontab -l で設定されたcrontabを確認可能。
なお、ユーザー毎に設定するものであるため、
各ユーザーの設定値を確認する場合は、

for user in$(cut-f1-d: /etc/passwd);do echo$user; crontab -u$user-l;done

で可能。

ほんとに実行されたよね?の確認。。

/var/log/cronに実行ログがある。
下に追記されているのでtailなどで見るのが手っ取り早い。

実行されてない場合の確認方法

ログ出力

Cron設定のコマンドにリダイレクトを書くだけです。

crontab -e
*/5 **** bash /home/vagrant/test.sh >> /home/vagrant/test.log 2>&1

>>でリダイレクトすれば追記してくれます。
なお、最後の2>&1は標準出力もエラー出力もする設定。
標準出力のみの場合はtest.sh 1> test.log
エラーのみでいい場合はtest.sh 2> error_test.log
とする。

結局は

Crontabに登録するコマンドを直叩きしてうまくいくかどうか確認して、
うまくいってからCrontabに登録するのが一番確実。
一行目のおまじない忘れとかスペース問題とかCrontabのログより気が付きやすいので。

bash /home/vagrant/test.sh >> /home/vagrant/test.log 2>&1

参考

crontabコマンドについてまとめました 【Linuxコマンド集】
cronのログを見よう
cronがうまく動かないときの調査


Viewing all articles
Browse latest Browse all 2722

Trending Articles