cron:
- liunx上計劃任務的系統層級、後台執行精靈;最基本的liunx服務之一!!!
- 它每一分鐘都會檢查設定檔的變動情況
- 它每一分鐘都會根據設定檔資訊檢查任務的執行情況
cron支援多個位置的設定檔:
- /var/spool/cron/crontabs/*:每分鐘檢查一次變動;每個使用者有自己單獨的設定檔;通過crontab命令編輯設定檔!
- /etc/crontab:即時監控;全域設定檔;與之配合的是cron.hourly、cron.daily、cron.weekly、cron.monthly目錄下的run-parts任務目錄
- /etc/cron.d/*:即時監控;全域設定檔
/var/spool/cron/crontabs/*下設定檔的文法、格式:
時間安排部分:支援:域值、列表、範圍:使用逗號分隔;進階的有:間隔和別名
第一段:分鐘:0-59
第二段:小時:1-23
第三段:日期:1-31
第四段:月份:1-12:可以使用文字名稱
第五段:星期:0-7:0和7都表示星期日:可以使用文字名稱
任務命令部分:任何有效命令或指令碼
第六段:任務命令:任何有效命令或指令碼
註:
- crontab命令總是會更新使用者計劃任務設定檔的修改時間
- 設定檔中可以設定需要的環境變數
- 各段之間使用空格分隔
- 時間段的月、星期可以使用文字標識
- 時間段的間隔“/n”、以及時間段的別名不是所有的linux系統都遵循的擴充用法
- 特殊的時間別名:Instead of the first five fields, one of eight special strings may appear:
string meaning
------ -------
- @reboot Run once, at startup.
- @yearly Run once a year, "0 0 1 1 *".
- @annually (same as @yearly)
- @monthly Run once a month, "0 0 1 * *".
- @weekly Run once a week, "0 0 * * 0".
- @daily Run once a day, "0 0 * * *".
- @midnight (same as @daily)
- @hourly Run once an hour, "0 * * * *".
/etc/crontab、/etc/cron.d/*下設定檔的文法、格式:
基本上和使用者的設定檔相同,除了在命令段前有一個標識任務所屬使用者的使用者欄位
計劃任務的使用者控制:
/etc/cron.allow:最高優先順序檔案,只有在列表內的使用者才可以使用crontab命令配置自己的計劃任務
/etc/cron.deny:次級檔案,如果cron.allow檔案不存在,只有不在列表內的使用者才可以使用crontab命令配置自己的計劃任務
:如果cron.allow、cron.deny均不存在,得看系統的預設配置是什麼,對ubuntu來說,所有使用者都可以使用crontab!
crontab配置命令:
crontab [-u user] file #不知道是何種用法?
crontab [-u user] {-e(編輯使用者設定檔)|-l(列出使用者的計劃任務)|-r(清除使用者計劃任務)}