引子:
公司發通知說要停電,OA系統備用電源也不能長時間支撐,所以要提前停掉OA服務器,以前做windows的計劃任務關機,現在要用crontab實現Freebsd的定時關機。
首先寫了一個shutdown.sh的關機腳本
#! /bin/sh shutdown -p now
在虛擬機上直接運行測試,效果還不錯,立馬關掉。
馬上crontab -e加到裏面去
*/2 * * * * sh /shell/shutdown.sh
這裏我爲了測試所以設置隔兩分鐘運行一次,對自己寫的crontab不放心可以驗證一下。
驗證crontab的在線工具 http://tool.lu/crontab/ http://www.atool.org/crontab.php
crontab設置完了之後不會立即生效,可以用命令重啓一下cron
/etc/rc.d/cron restart
過了一會,機器還是運行,並沒有關閉,查看cron的日誌
tail -f /var/log/cron
日誌裏面是有運行記錄的,我也查資料試了很多方法,都是失敗的,最後我在Freebsd一個羣裏問得到答案。
#! /bin/sh /sbin/init 0 關閉電源 /sbin/init 6 重新啓動
至此,定時關機算是實現了。
體會:
有些事情雖然看起來、聽別人說起來都是那麼簡單,但是自己親自嘗試的時候會發現自己的很多不足,事情沒有想那麼美好,但也並沒有那麼壞。