每天晚上10点如何运行一次cron


175

我输入了:

* 22 * * * test > /dev/null

但是,通过电子邮件通知我,此消息每分钟都在运行。我猜我很困惑,因为我认为这对我想要的是正确的。


3
该网站将解释任何cron计划:crontab.guru
Bruno Finger

Answers:


366

我猜是每小时22分钟运行。尝试以下方法在每小时22小时的第一分钟运行它:

0 22 * * * ....

尽管22小时可以节省一些时间,但请考虑该问题
Martin Thoma,

@MartinThoma总是man cron首先尝试,您应该找到想要的东西。
马克·西蒙

记得要检查系统的日期,我碰巧将crontab设置为在22点开始工作,但实际上是在23点开始,因为系统是UTC(所以GMT中系统的22对我来说是23)。
nnsense,

我赞成这个答案,但我确实知道这条规则...无论如何,我想确认一下我的沉默知识:D
rneverdies

154

这里还有一些例子

  • 在每小时的46分钟后每6小时运行一次:

    46 */6 * * *

  • 在凌晨2:10运行:

    10 2 * * *

  • 在凌晨3:15运行:

    15 3 * * *

  • 凌晨4:20运行:

    20 4 * * *

  • 凌晨5:31运行:

    31 5 * * *

  • 在下午5:31运行:

    31 17 * * *



25

这是我每次编写新的crontab条目时所要查看的内容:

要从终端-type开始编辑:

 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 => ‘*’,            <<= Everyday (0 thru 6) = sunday thru saturday
] 

另外,检查您的计算机正在运行的外壳,并相应地命名该文件,否则它将无法执行。

使用echo $SHELL或检查外壳echo $0

可以是“ Bourne外壳(sh),Bourne再次外壳(bash),Korn外壳(ksh)..etc”


1

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 

来源https://www.adminschoice.com/crontab-quick-reference

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.