2010-06-01 132 views
0

我正在写一个脚本,需要在一天中的任意时间调用,但我不知道如何完成此操作。动态cron作业?

我不想浪费服务器资源来每分钟运行一次cron作业。

我想要随机调用脚本,因此生成提前一个月的随机时间,然后为它们中的每一个创建cron作业并不是我正在寻找的。

此脚本只需要每天执行一次。

在此先感谢!

回答

2

是否每次运行都使用'at'随机时间提交进一步运行? 这并不能保证它每天都在运行,但你可以把它作为一个平均值。

+0

我想说的是它不能完成,但我甚至没有考虑修改crontab本身!太好了! – Matchu 2010-06-01 12:00:46

+0

这是行不通的,因为初始cron工作仍然需要经常运行。 – 2010-06-01 12:01:29

+0

...或者有一个每天运行的cron作业来随机生成'at'作业。虽然在随机时间跑步的原因仍然是一个谜。 – symcbean 2010-06-01 12:01:36

0

如果您有权访问它,请在目标脚本运行并随机添加时修改crontab文件。

2

这将添加一个cron作业:

echo "* * * * * /path/to/script" | crontab 

你需要生成一个适当的时间,而不是* * * * *(否则将会运行每分钟)。

echo "* * * * * /path/to/script" | crontab -r 

将删除该作业。所以,现在您需要从PHP脚本中调用这些脚本,我不记得它是如何在PHP中完成的。

编辑

http://php.net/manual/en/function.system.php

更多修改

每次脚本执行,这是最后两个操作可能会被删除当前cron作业,并产生另一个第二天。

更EDIT

http://codepad.org/Z1B2v4lF - 这里是我会怎么做它在Python。这可能每天运行一次以上。如果每天仅运行一次是必须的,您也可以添加日期值。