藉助linux下自帶的crontab即可實現定時任務。
crontab [-u username] [-l|-e|-r]
參數:
-u: 只有root才能進行這個任務,也即幫其他用戶新建/刪除crontab工作調度;
-e: 編輯crontab 的工作內容;
-l: 查閱crontab的工作內容;
-r: 刪除所有的crontab的工作內容,若僅要刪除一項,請用-e去編輯。
crontab -e
#此時會進入vi的編輯界面讓你編輯工作。注意到,每項工作都是一行。
0 12 * * * bash xx.sh //你要執行的shell腳本或其它linux命令
#分 時 日 月 周 |《==============命令行=======================》
代表意義 | 分鐘 | 小時 | 日期 | 月份 | 周 | 命令 |
---|---|---|---|---|---|---|
數字範圍 | 0~59 | 0~23 | 1~31 | 1~12 | 0~7 | 就是命令啊 |
當週的數字爲0或7時,都代表“星期天”的意思。另外,還有一些輔助的字符,大概有下面這些:
特殊字符 | 代表意義 |
---|---|
*(星號) | 代表任何時刻都接受的意思。舉例來說,日、月、周都是*,就代表着不論何月、何日的禮拜幾的12:00都執行後續命令的意思。 |
,(逗號) | 代表分隔時段的意思。舉例來說,如果要執行的工作是3:00與6:00時,就會是:0 3,6 * * * command時間還是有五列,不過第二列是 3,6 ,代表3與6都適用 |
-(減號) | 代表一段時間範圍內,舉例來說,8點到12點之間的每小時的20分都進行一項工作:20 8-12 * * * command仔細看到第二列變成8-12.代表 8,9,10,11,12 都適用的意思/n(斜線) 那個n代表數字,即是每隔n單位間隔的意思,例如每五分鐘進行一次,則:/5 * * * * command用與/5來搭配,也可以寫成0-59/5,意思相同 |
-
爲當前用戶創建cron服務
鍵入 crontab -e 編輯crontab服務文件
例如 文件內容如下:
*/1 * * * * bash /root/s.sh >>/root/log
然後保存文件並並退出。
會提示:crontab: installing new crontab
,表示創建成功。
讓輸入crontab -l
即可顯示創建了的定時任務。
-
啓動crontab服務
一般默認都是啓動的,要是沒有啓動,就使用下面的方法。
一般啓動服務用
/sbin/service crond start
若是根用戶的cron服務可以用sudo service crond start
, 這裏還是要注意 下 不同版本linux系統啓動的服務的命令也不同 ,像我的虛擬機裏只需用sudo service cron restart
即可,若是在根用下直接鍵入service cron start
就能啓動服務。