說明:
1、Linux和Mac下操作crontab都是一致的
2、配置文件都在/etc/crontab下,如果沒有就創建。
3、測試發現直接使用crontab -e命令創建的定時任務是放在臨時文件夾的,重啟會刪除,並且與/etc/crontab文件無關聯。
實際操作:
-
查看 crontab 是否啟動
sudo launchctl list | grep cron
-
檢查需要的文件
$ LaunchAgents ll /etc/crontab ls: /etc/crontab: No such file or directory #表示沒有這個文件,需要創建一個
-
創建文件
sudo touch /etc/crontab
crontab的參數
-
-u user:用來設定某個用戶的crontab服務; file:file是命令文件的名字,表示將file做為crontab的任務列表文件並載入crontab。如果在命令行中沒有指定這個文件,crontab命令將接受標准輸入(鍵盤)上鍵入的命令,並將它們載入crontab。 -e:編輯某個用戶的crontab文件內容。如果不指定用戶,則表示編輯當前用戶的crontab文件。 -l:顯示某個用戶的crontab文件內容,如果不指定用戶,則表示顯示當前用戶的crontab文件內容。 -r:從/var/spool/cron目錄中刪除某個用戶的crontab文件,如果不指定用戶,則默認刪除當前用戶的crontab文件。 -i:在刪除用戶的crontab文件時給確認提示。
eg:
*/1 * * * * /bin/date >> /User/Username(你的用戶名)/time.txt
表示每分鍾輸出當前時間到time.txt上.
-
如果出現以下問題
crontab: no crontab for hayek - using an empty one crontab: "/usr/bin/vi" exited with status 1
- 方法1:
EDITOR=vim crontab -e
直接編輯,以后直接crontab -e
直接打開就行。 - 方法2:
export EDITOR=vim
- 方法3:向cron進程提交一個crontab文件之前,首先要設置環境變量EDITOR。cron進程根據它來確定使用哪個編輯器編輯crontab文件。9 9 %的UNIX和LINUX用戶都使用vi,如果你也是這樣,那么你就編輯$HOME目錄下的. profile文件,在其中加入這樣一行:
EDITOR=vi; export EDITOR
- 方法1:
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. sudo touch /etc/crontab
2. crontab -e 打開文件按照vim語法輸入定時任務內容:
eg: */10 * * * * /usr/bin/python /Users/qiuyunxia/yunxia.qiu/code/mtg-ios-automation/auto_install_ios_app.py -d f028d43c1b8969ab5dce14d163af42105d3dc744 -P 4723 --country CN
3. sudo /etc/init.d/cron start 啟動服務
4. crontab -l 查看任務的運行情況