Linux定時器工具-crontab 各參數具體解釋及怎樣查看日志記錄


要使用crontab定時器工具,必需要啟動cron服務:

service cron start

crontab的語法,以備日后救急。先上張超給力的圖:




crontab各參數說明:

-e : 運行文字編輯器來編輯crontab,內定的文字編輯器是VI

-r : 刪除眼下的crontab

-l : 列出眼下的crontab(查看專用)

-i : 會和-r 配合使用,在刪除當前的crontab時詢問,輸入y 則刪除

注意crontab是分用戶的,以誰登錄就會編輯到誰的crontab

crontab特殊的符號說明:

"*"代表全部的取值范圍內的數字。特別要注意哦!



"/"代表每的意思,如"*/5"表示每5個單位

"-"代表從某個數字到某個數字

","分散的數字

crontab文件的使用演示樣例:

30 21 * * * 表示每晚的21:30 

45 4 1,10,22 * * 表示每月1、10、22日的4 : 45

10 1 * * 6,0 表示每周六、周日的1 : 10

0,30 18-23 * * * 表示在每天18 : 00至23 : 00之間每隔30分鍾

0 23 * * 6 表示每星期六的11 : 00 pm

* */1 * * * 每一小時

* 23-7/1 * * * 晚上11點到早上7點之間,每隔一小時

* 8,13 * * 1-5 從周一到周五的上午8點和下午1點

0 11 4 * mon-wed 每月的4號與每周一到周三的11點

0 4 1 jan * 一月一號的4點


-------------------------------- 怎樣啟動crontab的日志服務 --------------------------------------------------------

發現UBuntu下竟然沒有自己主動打開cron的日志服務功能,解決方法例如以下

cron的日志功能使用syslogd服務,不同版本號linux可能裝了不同的軟件,這里介紹常見的兩種:

sysklogd>>>>>>

1. 編輯 /etc/syslog.conf。而且打開以cron.*開始的那行凝視。

 
2. 執行 /etc/init.d/sysklogd restart 。 
3. 執行 /etc/init.d/cron restart 。

rsyslog>>>>>>

1. 改動rsyslog文件。將/etc/rsyslog.d/50-default.conf 文件里的#cron.*前的#刪掉;
2. 重新啟動rsyslog服務service rsyslog restart
3. 重新啟動cron服務service cron restart


-------------------------------- 怎樣查看crontab的日志記錄 --------------------------------------------------------

昨天crontab中的同步任務沒有運行。不知道是什么原因沒有運行,貌似任務hang住了,想查詢一下crontab究竟問題出在哪里,或者hang在了什么地方。



1. linux
看 /var/log/cron這個文件就能夠。能夠用tail -f /var/log/cron觀察

2. unix
在 /var/spool/cron/tmp文件里,有croutXXX001864的tmp文件,tail 這些文件就能夠看到正在運行的任務了。

3. mail任務
在 /var/spool/mail/root 文件里,有crontab運行日志的記錄,用tail -f /var/spool/mail/root 就可以查看近期的crontab運行情況。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM