【发布时间】:2016-08-31 23:46:08
【问题描述】:
我有一个 linux cron 作业要运行。我想配置它的设置。我所拥有的是,start_time 用于工作,interval 之后每次都应该重复。 interval 是整数,以天为单位。例如,我想在未来某个随机日期开始设置 cron 作业,并希望在每 interval 天后定期运行该作业。我试图做0 0 * * */interval,但它没有给出我想要的。知道如何实现吗?
【问题讨论】:
我有一个 linux cron 作业要运行。我想配置它的设置。我所拥有的是,start_time 用于工作,interval 之后每次都应该重复。 interval 是整数,以天为单位。例如,我想在未来某个随机日期开始设置 cron 作业,并希望在每 interval 天后定期运行该作业。我试图做0 0 * * */interval,但它没有给出我想要的。知道如何实现吗?
【问题讨论】:
我想你可能想要类似的东西
0 0 */interval * * /your/command
基本上将星期几切换为月份中的某一天。至于随机开始日期,我认为必须在其他地方完成,比如在某个时间点编辑 cron 文件的 shell 脚本等。
编辑: 这个小脚本将允许您编辑 cron 文件。
#!/bin/sh
crontab -l > tempcron
echo "00 00 * * * /bin/ls" >> tempcron #just an example cron
crontab tempcron
rm tempcron
【讨论】:
start_time。它从每个月的第一天开始设置工作。我对更改 cron 的开始时间更感兴趣。你能举个你提到的编辑 cron 文件的 shell 脚本的例子吗?
date 获取当前时间戳,检查它是否已经通过了某个预定义的值,然后它是否已经在我的编辑然后可以实现你想要的?您可以将该脚本设置为每小时运行一次或其他任何时间运行的 cron,然后让它从预制的 cron 文件中填充 cron,这将摆脱这个初始脚本(希望这是有道理的)
interval 输入值应用限制。我将允许 interval 为 1、7 或 30 天。但即使在这种情况下,start_time 也可能是任何随机的未来日期,具体取决于用户输入。