我正在编写一个需要在白天随机调用的脚本,但我不知道如何实现这一点。
我不想浪费服务器资源来每分钟运行一次cron作业。
我希望随机调用脚本,因此提前一个月生成随机时间,然后为每个人创建cron作业并不是我想要的。
此剧本也只需要每天执行一次。
提前致谢!
答案 0 :(得分:2)
每次运行是否随机时间使用'at'提交进一步的运行? 这并不能保证它每天都会运行,但你可以将其作为一个平均值。
答案 1 :(得分:2)
这将添加一个cron作业:
echo "* * * * * /path/to/script" | crontab
你需要生成一个合适的时间而不是* * * * *
(否则它将每分钟运行一次)。
echo "* * * * * /path/to/script" | crontab -r
将删除该作业。所以,现在你需要从PHP脚本中调用它们,我不记得它是如何在PHP中完成的。
修改
http://php.net/manual/en/function.system.php
更多编辑
每次脚本执行时,最后两个操作可能是删除当前的cron作业并在第二天生成另一个作业。
更多编辑
http://codepad.org/Z1B2v4lF - 这是我在Python中的表现。这可能每天运行一次以上。如果必须每天只运行一次,您也可以添加一个月中的值。
答案 2 :(得分:0)
如果您有权访问它,请在目标脚本运行时修改crontab文件并随机添加。