1.相關檔案
/etc/crontab //設定當時任務執行時間
/etc/cron.hourly
/etc/cron.daily
/ect/cron.weekly
/ect/cron.monthly
//顯然,最好的方法就是不同的定時任務放在不同的資料夾下
2.建立指令碼檔案
touch mycron //建立乙個檔案
#!/bin/sh //以此開始
# here is your code
#end
//例如,yii2框架下的定時任務
#!/bin/sh
# exec cron daily
#注意:執行定時任務的命令必須是全路徑
/var/www/yii cron/daily
3.設定定時任務
基本格式 :
* * *
* * command
分 時 日 月 周 命令
第1列表示分鐘1~59 每分鐘用*或者 */1表示
第2列表示小時1~23(0表示0點)
第3列表示日期1~31
第4列表示月份1~12
第5列標識號星期0~6(0表示星期天)
第6列要執行的命令
開啟crontab 檔案,類似於下面:
shell=/bin/sh
path=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * *
* * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#其中詳細定義了定時任務執行的時間
分鐘 (0-59)
小時(0-23)
日期(1-31)
月份(1-12)
星期(0-6) //0代表星期天
*代表每一分鐘(小時、天、月)
如果是每天的某兩個小時,那麼就是 * x,y *
* *
4.開啟cron日誌
在ubuntu下安裝crontab後,系統預設未開啟crontab的日誌記錄,啟用crontab的日誌的辦法:
開啟/etc/rsyslog.d檔案,將50-default.conf 檔案中的#cron.*前的#刪掉,如圖
定位到/sbin/目錄下:
重啟rsyslog服務:
service rsyslog restart
重啟cron服務
service cron restart;
檢視日誌:
more /var/log/cron.log;
或者cd到/var/log下檢視
其他命令,請自行搜尋學習。定時任務不執行的可能原因:
1.shell檔案定時任務未使用全路徑
2.定時任務crontab未載入
3.建議開啟cron日誌,方便定位問題所在
4.重啟rsyslog,cron服務
Linux linux定時任務crontab
crontab命令的功能是在一定的時間間隔排程一些命令的執行。它的配置檔案是 etc crontab。vim etc crontab etc crontab中每行指定乙個定時任務,其描述格式如下 minute hour daymonth dayofweek commandminute 從0到59的整...
linux定時任務 at定時任務
at命令是一次性定時計畫任務,at的守護程序atd會以後臺模式執行,檢查作業佇列來執行作業。atd守護程序會檢查系統上的乙個特殊目錄來獲取at命令的提交的作業,預設情況下,atd守護程序每60秒檢查一次目錄,有作業時,會檢查作業執行時間,如果時間與當前時間匹配,則執行此作業。注意 at命令是一次性定...
linux定時任務
crontab 設定定時任務 crontab 可以根據分鐘 小時 日期 月份 星期的組合來設定定時任務的自動執行 要使用該服務必須啟動 crond 服務,檢視 crond 服務有沒有啟動,執行命令 servicecrond status 一些任務事例,幫助理解 3020 root back.sh 每...