cron
是後台進程,負責執行排定且重複的命令 (每天、每週等);atd
則執行單一的命令,但在未來的某個特定時間點。
locate
程式使用;
crontab -e
(其內容儲存在 /var/spool/cron/crontabs/user
檔案內) 命令編輯它。
/etc/crontab
檔案,或寫入額外的 crontab 檔案於 /etc/cron.d
資料夾內。最後兩個解決方案有其優勢,在執行命令時辦識使用者。
/etc/cron.hourly/
資料夾內的程式;
/etc/cron.daily/
資料夾內的程式;
/etc/cron.weekly/
資料夾內的程式;
/etc/cron.monthly/
資料夾內的程式。
Sun
、Mon
等);
/etc/crontab
檔案與其位在 /etc/cron.d/
內,但不在使用者自己的 crontab 檔案內);
a-b
表示在 a
和 b
之間的值。a-b/c
表示以固定增量 c
的間隔 (如:0-10/2
表示實際狀況是 0,2,4,6,8,10
)。星號 *
為萬用字元,表示所有的可能值。
at
在未來的特定時間執行某個命令。以命令列參數的模式在指定的時間與日期執行,並把結果以標準方式鍵入。鍵入當前的 shell 就可以執行該命令。at
甚至保留當前的環境,以便重現執行該命令的情境。以慣例顯示時間:16:12
或 4:12pm
代表下午 4 點 12 分。日期可以使用歐洲或西方的格式,包括 DD.MM.YY
(27.07.15
表示27日7月2015年),YYYY-MM-DD
(等同於 2015-07-27
),MM/DD/[CC]YY
(就是,12/25/15
或 12/25/2015
指的是12月25日,2015),或 MMDD[CC]YY
(即 122515
或 12252015
代表12月25日,2015)。少了它,則在時間到就執行 (同一天、或若時間已過則是隔天)。也可寫成 “today” 或 “tomorrow”,就是今天或明天。
$
at 09:00 27.07.15 <<END
>
echo "Don't forget to wish a Happy Birthday to Raphaël!" \
>
| mail lolando@debian.org
>
END
warning: commands will be executed using /bin/sh job 31 at Mon Jul 27 09:00:00 2015
at now + 數字 間隔
。間隔 可以是 分
、小時
、日
、或 週
。數字 指明執行命令前的時間。
cron
排定的工作,祗需執行 crontab -e
並刪除在 crontab 檔案中對應的列。對於使用 at
的工作,同樣簡單:執行 atrm 工作編號
就可以了。排定時由 at
命令指定工作編號,可以用 atq
命令列出當前工作的清單,籨而找到該工作編號。