【发布时间】:2012-02-14 19:47:00
【问题描述】:
我已经进入:
* 22 * * * test > /dev/null
但是,我通过电子邮件收到通知,它每分钟都在运行。 我猜我很困惑,因为我认为这对我想要的东西是正确的。
【问题讨论】:
-
本网站将解释任何 cron 计划:crontab.guru
标签: bash cron system scheduled-tasks
我已经进入:
* 22 * * * test > /dev/null
但是,我通过电子邮件收到通知,它每分钟都在运行。 我猜我很困惑,因为我认为这对我想要的东西是正确的。
【问题讨论】:
标签: bash cron system scheduled-tasks
我猜它在 22 小时的每一分钟都在运行。尝试以下方法在 22 小时的第一分钟运行它:
0 22 * * * ....
【讨论】:
man cron,你应该会找到你想要的。
这里还有一些例子
每小时 46 分钟每 6 小时运行一次:
46 */6 * * *
凌晨 2:10 运行:
10 2 * * *
凌晨 3:15 运行:
15 3 * * *
凌晨 4:20 运行:
20 4 * * *
早上 5:31 运行:
31 5 * * *
下午 5:31 运行:
31 17 * * *
【讨论】:
【讨论】:
这是我每次编写新的 crontab 条目时都会看到的内容:
从终端类型开始编辑:
zee$ crontab -e
您将添加到 crontab 文件中的内容:
0 22 * * 0 some-user /opt/somescript/to/run.sh
什么意思:
[
+ user => 'some-user',
+ minute => ‘0’, <<= on top of the hour.
+ hour => '22', <<= at 10 PM. Military time.
+ monthday => '*', <<= Every day of the month*
+ month => '*', <<= Every month*
+ weekday => ‘0’, <<= Everyday (0 thru 6) = sunday thru saturday
]
另外,检查你的机器正在运行什么外壳,并相应地命名文件,否则它不会执行。
使用echo $SHELL 或echo $0 检查shell
可以是“Bourne shell (sh), Bourne again shell (bash),Korn shell (ksh)..etc”
【讨论】:
crontab 的语法
* * * * *
Minute(0-59) Hour(0-24) Day_of_month(1-31) Month(1-12) Day_of_week(0-6) Command_to_execute
你的语法
* 22 * * * test > /dev/null
您的工作将在每周、每月和每年的每分钟 22:00 执行。
在分钟位置添加一个选项 (0-59) 将在每周、每月和每年的 22:00 运行一次。
0 22 * * * command_to_execute
【讨论】: