crontab基礎學習

今天在網上看到這篇不錯的教程,是介紹CronTab的,寫的很清楚。所以轉載過來,做個分享。
限制用戶使用crontab的文件有:/etc/cron.allow /etc/cron.deny 。
當使用crontab建立工作排程後,將被記錄到/var/spool/cron裏。
cron執行的每一項工作都被記錄到/varlog/cron裏去。
crontab參數:
-u:只有root纔可能,幫其他用戶建立或移除工作排程。
-l:查閱crontab的工作內容
-r:移除所有的crontab的工作內容,移除一項,用-e編輯。
例1:每天12:00給root發信。
[root@lyy etc]# crontab -e     #用vi編輯
0 12 * * * mail root -s "at 12:00" < /root/.bashrc
每項工作有六個字段分別是:
分鐘    小時    日期    月份    周    指令
0-59    0-23    1-31    1-12    0-7    指令         #0和7都代表星期天
輔助特殊字符:
* (星號)代表任何時刻
,(逗號)代表分隔時候。如3點與6點 就是3,6
-(減號)代表一段時間範圍內。如:3點到6點 就是3-6
/n(斜線)n代表數字,即每隔n單位。如每隔五分鐘,/5
例2:每隔3分鐘,在屏幕輸出字符
[root@lyy etc]# crontab -e
[root@lyy etc]# crontab -l
*/3 * * * * echo "hello world !!!!!" > /dev/pts/0    #pts/0是用telnet的終端接口
查看一下記錄
[root@lyy etc]# cat /var/log/cron
Dec 12 20:27:01 lyy crond[9865]: (root) CMD (echo "hello world !!!!!" &gt; /dev/pts/0)
Dec 12 20:30:01 lyy crond[9908]: (root) CMD (echo "hello world !!!!!" &gt; /dev/pts/0)
例3:每個星期三下午14:30分發送一個郵件給pc
[root@lyy etc]# crontab -e
30 14 * * 3 mail pc -s "test" &lt; /home/text.txt
crontab -e 是針對用戶的cron設計的,如果是系統例行性任務,只要編
輯/etc/crontab文件就可以了。
查看/etc/crontab內容
[root@lyy etc]# cat /etc/crontab
SHELL=/bin/bash        #接口
PATH=/sbin:/bin:/usr/sbin:/usr/bin    #執行路徑搜尋
MAILTO=root            #以mail發送者
HOME=/            #家目錄
# run-parts
01 * * * * root run-parts /etc/cron.hourly        #每小時
02 4 * * * root run-parts /etc/cron.daily        #每天
22 4 * * 0 root run-parts /etc/cron.weekly        #每週日
42 4 1 * * root run-parts /etc/cron.monthly    #每個月1號
取消不要的輸出項目:把輸出的結果以命令重導向到/dev/null
安全檢驗:由於一些***以例行命令方式值入,所以可以通過
檢查/var/log/cron來發現。
周與日月不可同時並存
如:
30 12 11 9 5 root echo "just test " #這是錯誤的寫法。
本來以爲九月十一號是星期五執行這個任務,但是系統可能會判定每個星期
五執行一次或每年九月十一號分別執行。
喚醒停機期間的工作任務 anacron
anacron不能取代crontab,它存在目的是處理非24小時在線的linux系統的
crontab的執行。它是以天爲單位或在開機後執行,它會檢查停機期間的
crontab並執行,然後就自動停止了。
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章