cron 任务设置为不同的时间,但同时执行

cron 任务设置为不同的时间,但同时执行

我有一个文件,我将它与以下作业一起加载到 crontab 中,并且 crontab -l 报告以下内容:

# runs daily at 2:00 am and 2:05 am
30 12 * * * /usr/bin/wget -q -O temp.txt http://<host-url>/cronjob/script1.php 35 12 * * * /usr/bin/wget -q -O temp.txt http://<host-url>/cronjob/script2.php

上述输出的更简洁版本

# runs daily at 2:00 am and 2:05 am

30 12 * * * /usr/bin/wget -q -O temp.txt http://<host-url>/cronjob/script1.php 
35 12 * * * /usr/bin/wget -q -O temp.txt http://<host-url>/cronjob/script2.php

我遵循了此网站的规则:

如何设置 Cron Job

我最初遇到一个问题,无法将两个作业都显示在 crontab 列表中。我通过将所有作业都设置在一行上解决了该问题,如以下部分所述:

处理 Crontab 的错误消息

正确列出两个作业后,我进行了测试以验证它们是否正确执行。在 12:31,我注意到两个脚本都执行了,因为 script1 和 script2 都修改了 mysql 数据库中的不同表。

为什么会发生这种情况?我该如何安排它以便 script2 在其自己的预定时间执行?

我意识到这不是什么大问题,但我很好奇。

谢谢您的帮助。

答案1

我使用以下命令打开了要编辑的 cron 作业:

crontab -e

并使用 Nano 进行编辑。

我在作业之间添加了一个新行字符,这解决了这个问题。

因此,最初创建的文件是在通过 FTP 传输到服务器的 Windows 计算机上完成的。我检查了该文件,它是在 Notepad++ 中创建的,没有扩展名,也尝试过使用 .TXT 扩展名。EOL 字符设置为 UNIX。

无论哪种情况,加载文件时,两个作业都会在第一个预定时间执行。在我使用上面的编辑修改 cron 作业之后。cron 作业会在预定时间执行(即相隔 5 分钟)。

相关内容