我的 cron 作业运行了几次

My cron jobs runs several times

在我的服务器上,我有三个 cron 作业:

通过输入 crontab -e 我得到以下信息:

0 */24 * * * wget -qO /dev/null http://www.example.com/Users/mailNotify?token=1234 >> /var/log/cronLog.txt
0 */23 * * * sh /var/www/backup/backupScript
0 */23 * * * wget -qO /dev/null http://www.example.com/Users/off_score?token=1234 >> /var/log/cronLog.txt

这些 cronjobs 运行两次:

每晚 00:00 和 01:00。

有趣的是,它会在上述每个小时运行所有三个作业。

谁能告诉我在创建这些时我做错了什么?

要在特定时间让你的 cronjobs 运行ning 一次,你不应该使用 */ 因为这会使你的 cronjobs 运行 每 23 小时,这会导致行为运行ning 在 1,然后在 23 小时后在 0,因为 cron 正在计算一天中每 23 小时 运行 运行 的时间。

像你评论的那样在午夜 运行 所有的人,像这样使用 cron:

0 0 * * * wget -qO /dev/null http://www.example.com/Users/mailNotify?token=1234 >> /var/log/cronLog.txt
0 0 * * * sh /var/www/backup/backupScript
0 0 * * * wget -qO /dev/null http://www.example.com/Users/off_score?token=1234 >> /var/log/cronLog.txt

Cron 定义:

# * * * * *  command to execute
 # │ │ │ │ │
 # │ │ │ │ │
 # │ │ │ │ └───── day of week (0 - 6) (0 to 6 are Sunday to Saturday, or use names; 7 is Sunday, the same as 0)
 # │ │ │ └────────── month (1 - 12)
 # │ │ └─────────────── day of month (1 - 31)
 # │ └──────────────────── hour (0 - 23)
 # └───────────────────────── min (0 - 59)

您在命令中的第 3 个 * 告诉 cron 每天 运行。