class="21150">
;
用法:
1. 用yz用戶登錄。
2. 用crontab -e 命令打開文件。寫入“0 1 * * * chg_date >/home/yz/yz.log”意思是在每天早上的1點,調用程序chg_date修改系統日期,將程序中的輸出放入yz.log文件。
3.用":x"命令存盤退出
根據我的了解“當對 crontab 所做的改變被保存後,該crontab 文件就會根據該用戶名被保存,並寫入文件 /var/spool/cron/username 中。cron 守護進程每分鐘都檢查 /etc/crontab 文件、etc/cron.d/ 目錄、以及 /var/spool/cron 目錄中的改變。如果發現了改變,它們就會被載入內存。這樣,當某個crontab 文件改變後就不必重新啟動守護進程了。”於是很懶就沒有測試。第二天上班查看庫表,居然還是昨天的日期。
這次查到新的命令:“/etc/rc.d/init.d/crond restart” ,可用來重啟cron服務 。於是乖乖修改了crontab文件,將時間改為每2分鐘後。等了一會兒,再查看庫表,還是沒有變動。
偶已經沒有耐心了,於是在辦公室裡開始用大嗓門問人:"#@*#……@?”這次連同事都很驚奇,“改了crontab就可以用了,不要重新啟的。”三個臭皮匠頂個諸葛亮,最後,Monitor提供了一個解決辦法,既然在yz用戶下建立crontab文件沒有用,那麼干脆在root用戶下建好了。
於是,偶重新用root用戶登錄,用crontab -e 寫道:“*/2 * * * * (su - yz -c chg_date 2>>/home/yz/yz.log)”。等了幾分鐘,看庫表,日期還是沒有變。真是有些沮喪了。抱著試試看的心情又把“/etc/rc.d/init.d/crond restart ”敲了一遍。幾分鐘後,偶終於看到日期變掉了。
問題解決,疑問還在心中:
1、為什麼在yz用戶下建立crontab沒有用?我已經看到/var/spool/cron/yz文件了。
2、為什麼一定要重起cron服務?明明很多同事在linux下,用crontab -e 追加完命令就可以用了。