一、CentOS 7 Crontab簡介
CentOS 7系統擁有強大的定時任務功能——Cron,可以讓用戶預設一些操作在指定的時間周期性地運行。Cron通常用於自動化管理一些重複性操作,如數據備份、服務器監控、更新緩存等。本文將會對CentOS 7的Crontab進行詳細討論和演示。
二、CentOS 7 Crontab不執行
如果定時任務沒有執行,一般就是出現了錯誤。我們可以通過以下方法解決該問題:
1、檢查定時任務格式是否正確
* * * * * Command
上述格式是Crontab定時任務格式,它表示定時任務在每分鐘都會執行。如果你的定時任務沒有執行,首先確保任務格式正確,例如:
* * * * * /usr/bin/python /root/test.py
2、檢查定時任務的文件名是否合法
如果你是手動新建了定時任務文件並命名為mycron,那麼在Crontab執行命令時應該使用下面的命令:
crontab /root/mycron
注意,每次添加新任務後,建議執行下面的命令來查看Crontab保存的定時任務信息是否正確,以免由於Crontab未正確讀取定時任務而導致任務不執行:
crontab -l
三、CentOS 7 Crontab編輯後不生效
編輯Crontab文件後,如果任務沒有正常執行,可以採取以下步驟:
1、將文件重命名為mycron,然後執行如下命令:
crontab /root/mycron
2、查看Cron服務是否啟動,如果沒有啟動,則啟動:
service crond start
3、查看Cron服務的運行狀態:
service crond status
如果輸出active(running)表示服務已經啟動,並且正在運行。
四、CentOS 7 Crontab開機執行任務
默認情況下,CentOS 7的Crontab是不支持系統啟動時自動執行任務的,需要手動添加相關設置。方法如下:
1、編輯CentOS 7系統的開機配置文件:
vim /etc/rc.local
2、添加自啟的配置命令:
sudo -u root bash -c 'echo "/usr/bin/python /root/test.py >> /root/test.log" | /usr/bin/at now'
該命令在系統啟動時會自動執行test.py,並將標準輸出信息重定向到test.log文件中。
五、CentOS 7 Crontab命令選取
在CentOS 7的Crontab中,常用的命令選項有:
1、Minute
表示分鐘,取值範圍為0-59,例如:
0,15,30,45 * * * * /usr/local/bin/test.sh
上述Crontab語句表示在每小時的0、15、30、45分鐘執行一次test.sh腳本
2、Hour
表示小時,取值範圍為0-23,例如:
0 2 * * * /usr/local/bin/test.sh
上述Crontab語句表示在每天凌晨2點執行test.sh腳本
3、Day
表示每月的第幾天,取值範圍為1-31,例如:
0 0 1 * * /usr/local/bin/test.sh
上述Crontab語句表示在每個月的1號執行test.sh腳本
4、Month
表示每年的第幾個月,取值範圍為1-12,例如:
0 0 1 1 * /usr/local/bin/test.sh
上述Crontab語句表示在每年的1月1日執行test.sh腳本
5、Weekday
表示每周的星期幾,取值範圍為0-6,0表示星期日,例如:
0 0 * * 0 /usr/local/bin/test.sh
上述Crontab語句表示在每周的星期日執行test.sh腳本
結語
CentOS 7的Crontab是一款非常強大的定時任務管理工具,使用它可以大大提高工作效率,自動化完成一些重複性任務。相信通過本文的介紹和演示,你已經掌握了CentOS 7的Crontab相關知識。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/180067.html