Help us understand the problem. What is going on with this article?

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がうまく動かないときの調査

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away