如何现在运行cron作业,再也不运行它,或者每个月都运行它



我需要写一个cron作业来写Python脚本,我们称之为"script.py",命令将是python3 script.py

请注意:这是一个连续运行的脚本,如果我将其设置为重新运行,它会在每次计划时吐出脚本,就像我将其放在每分钟一样。我试图将cron作业安排为每分钟运行一次脚本,这很有效(但这不是我想要的(。

有没有办法让它"现在"运行,但永远不会再运行,或者如果没有,每个月左右运行一次?我很困惑该怎么做。

例如,今天是2020年5月8日,现在是晚上7:21。我想现在开始执行这个cronjob(下一分钟是晚上7:22(,然后再也不执行脚本了?

例如,当我尝试在每个月8日晚上7:22运行它时,脚本在今天晚上7:22时不起作用。

我该怎么做?

如果只想运行一次作业,请不要使用cron;它没有办法做到这一点。

如果您想在以后运行它,可能是在您注销之后,请使用at(1)

如果您想在短时间延迟后运行它,比如在您的示例中为1分钟,并且您计划保持登录状态(或者该作业使自己成为守护进程(,那么在shell中执行sleep 1m; myjob可能会更简单。

如果你想每月运行一次作业,在8日晚上7:22,你应该可以进行

22 19 8 * * myjob

但请注意,时间是根据全局时区来解释的,该时区可能与您使用TZ环境变量为自己设置的时区不匹配。根据https://askubuntu.com/questions/54364/how-do-you-set-the-timezone-for-crontab它应该是由文件CCD_ 6指定的时区。如果这不是您期望的时区,那么您可以相应地调整crontab条目中的时间规范。

相关内容

最新更新