1 | crontab |
crontab crontab -l で現在の設定を表示 crontab -e で現在の設定の編集 設定は、「/var/spool/cron/」下に、ユーザー毎に保存されている。 crontab -l の表示例: # DO NOT EDIT THIS FILE - edit the master and reinstall. # (/tmp/crontab.1139 installed on Mon Sep 1 15:29:00 2003) # (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $) 0 22 * * * /db/pgsql/bin/pg_dumpall > /home/postgres/db.out 0 0 * * * /usr/bin/perl /home/matsu/public_html/entry/update.pl 但し、-eで編集する場合,最後の2行(上記の例において)のみ表示され、編集可となる。 フォーマットは以下の通り。 0 22 分 時 Note: 「*」で記述した項目は毎回であることを示す。例えば、「日」=「*」の場合、毎日を示す。 従って、上記の例では、毎日22:00に指定コマンドを実行する。 分 = 0〜59 時 = 0〜23 日 = 1〜31 月 = 1〜12 曜日 = 0〜6 crontab -eで編集後、設定内容は直ぐに反映される。(再起動不要) 注意) postgresのpg_dumpallにおいて、書込権限のないフォルダを指定しないように注意。 crontabで登録したコマンドは「crond」デーモンが実行する。crond自身の設定は/etc/crontabで行う。 RedhatやDebianでは、 /etc/cron.daily など の定期実行用フォルダが用意されている。これらをどのタイミングで実行するかも、「/etc/crontab」で 設定する。深夜〜早朝に実行されるようになっているので、深夜にマシンの電源をOffにする場合、 電源On時に変更が行われる。 [システム全体用の定期実行ファイル[Redhat/Debian系] /etc/cron.hourly /etc/cron.daily /etc/cron.weekly /etc/cron.monthly スタートアップ指定(起動時実行)は下記の通り。 @reboot [ジョブ名フルパス] 例)@reboot /root/work/p9999.sh |