一.關於crontab
有些ubuntu 版本,cron是被預設安裝並啟動的。如果沒有啟動,自行設定並啟動(chkconfig\sysv-rc-conf)。配置檔案/etc/crontab:
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
ubuntu呼叫run-parts命令,定時執行四個目錄下的所有指令碼。
/etc/cron.hourly下的指令碼會被每小時執行一次,在每小時的17分時執行。
/etc/cron.daily下的指令碼會被每天執行一次,在每天6點25分執行。
/etc/cron.weekly下的指令碼會被每週執行一次,在每週第7天的6點47分執行。
/etc/cron.monthly下的指令碼會被每月執行一次,在每月1號的6點52分執行。
以上執行時間可自行修改
二.關於shell指令碼
只需要把計畫執行的指令碼放到相應目錄中就可以了。不過需要注意以下兩點:
1.指令碼檔案的名稱不能包含「.」符號。你可以寫成「im-alarm」,但不要寫成「im-alarm.sh」。(因為命名問題,遇到過不執行的情況)
2.指令碼開頭必須加上「#!/bin/bash」,否則run-parts呼叫不成功。
否則直接用run-parts執行時會導致這樣的錯誤:
run-parts: failed to exec /etc/cron.hourly/backup-website: exec format error
run-parts: /etc/cron.hourly/backup-website exited with return code 1
三.啟動與停止
ubuntu下啟動、停止與重啟cron
sudo /etc/init.d/cron start
sudo /etc/init.d/cron stop
sudo /etc/init.d/cron restart
檢視cron是否在執行:
pgrep cron
用例項告訴你linux下如何編寫計畫任務crontab。
# m h dom mon dowcommand
#分 時 日 月 周 執行命令
分鐘[0,59],小時[0,23],日期[1,31] ,月[1,12],周[0,6],可以使用的引數有「*」,「/」,「-」和「,」。
* 表示任意取值範圍內數字 在分鐘裡*表示0到59的任意數字
- 表示選擇區域範圍內的數字 3-10表示3-10的任意數字,包含3和10
, 選擇數字 2,4,5 選擇2,4,5
/ 每多少數字 在分鐘裡 */2表示每二分鐘
例子:每1分鐘執行一次command
* * * * * command
每小時的第3和第15分鐘執行
3,15 * * * *command
在上午8點到11點的第3和第15分鐘執行
3,15 8-11 * * *command
每隔兩天的上午8點到11點的第3和第15分鐘執行
3,15 8-11 */2 * *command
每個星期一的上午8點到11點的第3和第15分鐘執行
3,15 8-11 * * 1command
crontab可以定時執行任務,在ubuntu下輸入crontab幫助如下
test@ubuntu:~$crontab
crontab: usageerror: file name must be specified for replace
crontab [-u user]file
crontab [-u user]
-e (edit user'scrontab)
-l (list user'scrontab)
-r (delete user'scrontab)
Linux計畫任務詳解
語法 at option time 常用選項 設定任務執行時間的格式 使用互動式方式建立乙個任務 at ls etc at ctrl d結束輸入 job 8 at sun apr 23 21 53 00 2017 使用指定檔案作為輸入 root localhost at f scripts slee...
ubuntu下計畫任務cron
sudo vim etc rsyslog.d 50 default.conf cron是linux下的計畫任務,其對應的服務為crond。在ubuntu下使用cron和在其他linux發行版下使用cron大同小異。本人使用的ubuntu 12.10在安裝好後附帶了cron程式,可用於crond服務的...
ubuntu新增計畫任務
環境 ubuntu14.4 核心3.13.0 24 ubuntu預設已經啟動了計畫任務程序,要做的就是使用cron工具新增計畫任務。失敗經歷 1 在 var spool cron 下新增已當前登入使用者名為檔名的計畫任務檔案,不起作用 3 使用crontab e命令,由於不夠仔細,在第一次使用命令時...