2010-10-14 24 views

回答

2

使cron作業/var/run下尋找一個標誌(文件),然後編寫設置或重置了該標誌的啓動腳本來自動執行此。

+1

ignacio ...我是總unix noob ..你可以給我一個腳本的例子。 – Unixnewbie11 2010-10-14 16:13:09

8

伊格納西奧是在暗示這樣的事情在你的crontab:

31 1 * * * [ -f /var/run/cron-holiday ] || /usr/local/bin/whatever-command 

然後在週末假期的開始,作爲根:

# touch /var/run/cron-holiday 

,並在週一:

# rm /var/run/cron-holiday 

這很好,很簡單,但有缺點,如果你忘記刪除文件,你的cronscripts將永遠不會再跑,這可能是不好的。

另一種方法是有一個文件中列出的度假日期做這樣的事情:

31 1 * * * grep -q `date -I` /etc/cron-holidays || whatever-command-here 

其中的/ etc/cron的節假日文件包含像

2011-04-01 
2011-12-25 

+0

文件是否必須在「/ var/run /」中創建? – TrueBlue10 2014-06-25 13:23:49

+0

@ TrueBlue10,不,它可能在任何地方,例如在/ root中,或者甚至由其他用戶擁有。 – poolie 2014-07-16 14:17:05