/var/spool/cron/crontabs
/etc/crontab/
/etc/cron.d/*
* * * * * コマンド
分 時 日 月 曜日
# 1分ごとに /date/log.txtへ日時を出力
*/1 * * * * echo `date` >log.txt
リダイレクションとパスの間には空白は入れません。
Cron
の設定は、直接ファイルを編集せずに、crontab
コマンドを使います。
現在は/etc/cron.d/
にファイルを作成するほうが推奨される場合がある。
そのときは$ sudo cp /etc/crontab /etc/cron.d/sample
のように/etc/crontab
をひな形として利用します。
# 編集
$ crontab -e
# 削除
$ crontab -r
# 一覧
$ crontab -l
ubuntu
ユーザーのcrontab
のファイルは、/var/spool/cron/crontabs/ubuntu
(Ubuntu 18.04)へ保存されます。
$ sudo ls -al /var/spool/cron/crontabs/ubuntu
-rw------- 1 ubuntu crontab 1089 Oct 13 07:23 /var/spool/cron/crontabs/ubuntu
MAILTO
が指定されているときは、標準出力(エラー含む)の内容を指定アドレスへ送信します。
(出力内容がファイルなどへリダイレクションされているときはメールは送信されません。)MAILTO
が未設定のときは、Cronの作成ユーザーへメールが送信されます。
MAILTO="info@info-town.jp"
LANG=ja_JP.UTF-8
LC_ALL=ja_JP.UTF-8
CONTENT_TYPE=text/plain; charset=UTF-8
*/1 * * * * echo `date`
# 標準出力・エラー出力とも/dev/nullに出力
*/1 * * * * echo `date` >/dev/null 2>&1
# 標準出力はlog.txt、標準エラー出力はerror.logへ出力します。
# 下記はechoがエラーなのでerror.logへ出力されます。
*/1 * * * * eecho `date` >>log.txt 2>>error.log
# 標準エラー出力を標準出力へリダイレクトします。
# 下記はエラー出力はlog.txtへ出力されます。
*/1 * * * * echo `date` >>log.txt 2>&1
2>&1
は2>>&1
と書くと実行されません/etc/cron.d
にファイルを作成(ファイル名は任意)します。
cron.d
へ配置する場合は、実行ユーザーを明示する必要があります。
https://vividcode.hatenablog.com/entry/man-cron-and-crontab
Cron
の設定で、メールアドレスおよびリダイレクションを設定していないとき場合には、ログは/var/log/cron.log
に出力