Python 我如何在周五运行脚本,每两周运行一次?

Python 我如何在周五运行脚本,每两周运行一次?,python,cron,scheduled-tasks,Python,Cron,Scheduled Tasks,我可以使用cron,但我不知道是否有办法设置正确的时间表。我还可以在Python中检查日期,每天通过cron运行脚本,但是在我的(Python)脚本中检查正确的日期(我认为它有更强大的条件) 我想把周五的一次跑步限制在1点到7点之间,另一次限制在15点到21点之间。但是这个选项在2013年3月这样有5个星期五的月份会有问题。这就是你想要的吗 将其放入crontab: 0 7 * * 5 sh -c " if [ $(expr $(expr $(date +\%s) \/ 604800) \% 2

我可以使用cron,但我不知道是否有办法设置正确的时间表。我还可以在Python中检查日期,每天通过cron运行脚本,但是在我的(Python)脚本中检查正确的日期(我认为它有更强大的条件)


我想把周五的一次跑步限制在1点到7点之间,另一次限制在15点到21点之间。但是这个选项在2013年3月这样有5个星期五的月份会有问题。

这就是你想要的吗

将其放入crontab:

0 7 * * 5 sh -c " if [ $(expr $(expr $(date +\%s) \/ 604800) \% 2) -eq 0 ]; then command; fi "
这将每隔周五早上7点运行您的命令


注意:数字604800表示一周(3600sec*24*7)。

为什么不每周五运行cron作业,但添加代码以写入文件中最后运行的日期。检查两周是否过去了,重写文件,然后运行对我不起作用的cron作业的其余部分:“/tmp/crontab.XXXX779ZQ1”:1:糟糕的一天这里的答案解释了为什么不起作用:你是对的。对不起,之前没有检查。我已经更正了答案,现在它至少在语法上是正确的,我认为它会起作用。我猜这个解决方案在今年的最后一周出现了问题。有时,一年中的最后一个星期五是第51周,有时是第52周。这样你就可以连续两周运行脚本,或者三周运行一次。哈哈,你让我面临挑战;)我想现在的解决方案是免费的边缘案件的新的一年?(我计算的是从unix epoch开始的周数,而不是从1月1日开始的周数。这个问题在中得到了回答,在crontab中处理这一切会更容易(而且更安全,imo)。