背景
之前定時運行py文件都是jenkins設置定時任務運行,今天想linux有沒有定時運行的東西,百度一下找到了,鏈接:http://blog.csdn.net/netdxy/article/details/505628641 crontab就可以設置定時任務腳本。
1.安裝crontab
[root@CentOS ~]# yum install vixie-cron [root@CentOS ~]# yum install crontabs
2.開啟crontab服務
service crond start //啟動服務 service crond stop //關閉服務 service crond restart //重啟服務 service crond reload //重新載入配置
加入開機自動啟動:
chkconfig –level 35 crond on
取消開機自動啟動crond服務:
chkconfig crond off
3.設置需要執行的腳本
有兩種方式:命令行輸入: crontab -e或者直接編輯/etc/crontab 文件
1、輸入命令
[root@CentOS ~]# crontab -e
添加定時任務,如每5分鍾執行一次python腳本
*/5 * * * * python3 /home/OA_sign_z/OA_sign_zmaster/api_move_offclock_cs.py
wq保存退出,完畢
2、編輯/etc/crontab
vi /etc/crontab
/etc/crontab比crontab -e多了一個字段,需要添加root權限使用
添加定時任務,還是每5分鍾執行一次python腳本
*/5 * * * * root python3 /home/OA_sign_z/OA_sign_zmaster/api_move_offclock_cs.py
wq保存退出,完畢
4.查看定時任務
crontab -l //列出當前的所有任務
5.查看crontab日志
[root@CentOS ~]# tail -f /var/log/cron
6.文本解釋
星號(*):代表所有可能的值,例如month字段如果是星號,則表示在滿足其它字段的制約條件后每月都執行該命令操作。
逗號(,):可以用逗號隔開的值指定一個列表范圍,例如,“1,2,5,7,8,9”
中杠(-):可以用整數之間的中杠表示一個整數范圍,例如“2-6”表示“2,3,4,5,6”
正斜線(/):可以用正斜線指定時間的間隔頻率,例如“0-23/2”表示每兩小時執行一次。同時正斜線可以和星號一起使用,例如/10,如果用在minute字段,表示每十分鍾執行一次。
5 * * * * ls 指定每小時的第5分鍾執行一次ls命令 30 5 * * * ls 指定每天的 5:30 執行ls命令 30 7 8 * * ls 指定每月8號的7:30分執行ls命令 30 5 8 6 * ls 指定每年的6月8日5:30執行ls命令 30 5 8 6 * ls 指定每年的6月8日5:30執行ls命令 30 6 * * 0 ls 指定每星期日的6:30執行ls命令 30 3 10,20 * * ls 每月10號及20號的3:30執行ls命令 25 8-11 * * * ls 每天8-11點的第25分鍾執行ls命令 */15 * * * * ls 每15分鍾執行一次ls命令 30 6 */10 * * ls 每個月中,每隔10天6:30執行一次ls命令 22 4 * * * root run-parts /etc/cron.daily #每天4:22以root身份執行/etc/cron.daily目錄中的所有可執行文件,run-parts參數表示,執行后面目錄中的所有可執行文件。