linux - Crontab 作业每天而不是每月执行一次

标签 linux shell cron

三天前,我使用 crontab -e 安装了以下 crontab 作业:

# execute weekly
0 2 2-31 * 7 sh /home/user/folder/myscript.sh week > /home/user/.crontablog/crontab.log

它应该在每个星期天的凌晨 2 点执行,每月的 1 号除外。然而,它在每晚凌晨 2 点执行。我的错误是什么?我在周日尝试了 0 而不是 7,结果相同:/

谢谢。

最佳答案

由于crontab的格式是这样的:

 +---------------- minute (0 - 59)
 |  +------------- hour (0 - 23)
 |  |  +---------- day of month (1 - 31)
 |  |  |  +------- month (1 - 12)
 |  |  |  |  +---- day of week (0 - 6) (Sunday=0 or 7)
 |  |  |  |  |
 *  *  *  *  *  command to be executed 

要在每个星期的星期日执行它,而不管你需要这样写的月份:

0 2 * * 7 sh /home/user/folder/myscript.sh week > /home/user/.crontablog/crontab.log

关于linux - Crontab 作业每天而不是每月执行一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31295650/

相关文章:

linux - 通过命令行 ubuntu 14.04 添加带有现有文本文件的新文本行

linux - 如何使用 fortran 或 shell 在同一文件中突出显示其右侧的不匹配数据?

linux - 如何在 Shell 脚本中仅从变量返回整数并丢弃字母和前导零?

bash - 使用 shell 脚本的内容创建文件

mysql - 使用 cron job + git 自动备份实时数据库

linux - DD-WRT Shell脚本Wifi IP和名称添加

linux - 如何运行脚本取决于不同的停止时间

linux - 嵌套 for 循环的问题

linux - 避免 col 的 32KB 长度限制

php - 需要帮助创建 Cron 来每天下载 XML 文件