1. 程式人生 > >Mac上crontab與/etc/crontab用法

Mac上crontab與/etc/crontab用法

一、crontab用法
1.開啟crontab服務
<1>.檢視 crontab 是否啟動
# sudo launchctl list | grep cron

<2>.檢查需要的檔案
# ls -al /etc/crontab

<3>.如果crontab檔案不存在,則建立
# sudo touch /etc/crontab

2.在使用crontab執行指令碼,如果沒有執行,檢視指令碼是否有執行許可權
//編輯自動執行指令碼內容,此內容是臨時內容,關機後不儲存
# crontab -e 
//每1分鐘執行一次test.sh指令碼(注意使用絕對路徑)
*/1 * * * * /user/test.sh 

//檢視編輯的內容
# crontab -l

3.編輯shell指令碼:test.sh
#!/bin/bash
ls -al
touch /user/test_file.txt

二、/etc/crontab用法:此種用法必須使用root許可權,加一個root項
# sudo emacs /etc/crontab
*/1 * * * * root /user/test.sh

注意:如果沒有任務,可以重啟cron服務
Mac系統:
# sudo /usr/sbin/cron restart

Ubuntu系統:
# sudo /etc/init.d/cron restart

****************************************************************
                  crontab定時任務
//檢視crontab用法
# man crontab // man 5 crontab
* 第1列分鐘0~59
* 第2列小時0~23(0表示子夜)
* 第3列日1~31
* 第4列月1~12
* 第5列星期0~7(0和7表示星期天)
* 第6列要執行的命令

crontab服務的重啟關閉,開啟
Mac系統下
# sudo /usr/sbin/cron start
# sudo /usr/sbin/cron restart
# sudo /usr/sbin/cron stop

Ubuntu系統
# sudo /etc/init.d/cron start
# sudo /etc/init.d/cron stop
# sudo /etc/init.d/cron restart
****************************************************************
                 栗子:*/1,*/2...:表示每1分鐘或每2小時;/:表示每一的意思
****************************************************************
*/1 * * * * 表示每一分鐘執行一次
*/3 * * * * 表示每隔3分鐘執行一次
1 */3 * * * 表示每隔3小時的執行一次的第1分鐘執行
1 1 */3 * * 表示每隔3天,當天的1點1分執行一次
1 10 * * 2,3,4 表示每週2到周4的每天10點1分執行一次