2010-10-14 59 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