我這里是centos,一般默認都會有這個命令,ubuntu應該也差不多。
啟動服務:service crond start
關閉服務:service crond stop
重啟服務:service crond restart
重新載入配置:service crond reload
為了啟動任務要先編輯/etc/crontab文件
文件是這個樣子:
SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # For details see man 4 crontabs # Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed
下面是一些例子可以參考:
5 * * * * root ls 指定每小時的第5分鍾執行一次ls命令 30 5 * * * root ls 指定每天的 5:30 執行ls命令 30 7 8 * * root ls 指定每月8號的7:30分執行ls命令 30 5 8 6 * root ls 指定每年的6月8日5:30執行ls命令 30 5 8 6 * root ls 指定每年的6月8日5:30執行ls命令 30 6 * * 0 root ls 指定每星期日的6:30執行ls命令 30 3 10,20 * * root ls 每月10號及20號的3:30執行ls命令 25 8-11 * * * root ls 每天8-11點的第25分鍾執行ls命令 */15 * * * * root ls 每15分鍾執行一次ls命令 30 6 */10 * * root ls 每個月中,每隔10天6:30執行一次ls命令
比如我需要每周日下午2點半執行runjob.py的腳本,可以這樣寫:
30 14 * * 0 root python3 runjob.py
配置文件寫完保存之后,輸入:
service crond reload
service crond restart
第一次使用crontab時輸入crontab -l 會出現 no crontab for root
解決方法是輸入crontab -e,再按vim方式wq保存退出即可。