为什么我的 cron 程序不起作用

为什么我的 cron 程序不起作用

当我放

* * * * * /var/www/script.sh 

脚本每分钟执行一次,但如果我把

* */2 * * * /var/www/script.sh 

相反,脚本根本不执行

答案1

如果你想让它运行每一个小时,则需要在分钟字段中输入数字。例如,要在一刻钟后运行,请使用:

15 * * * * /var/www/script.sh

man -i 5 crontab

   Commands are executed by cron(8) when the minute, hour, and month of year fields match the  current
   time,  and when at least one of the two day fields (day of month, or day of week) match the current
   time (see ``Note'' below).  cron(8) examines cron entries once every minute.   The  time  and  date
   fields are:

          field          allowed values
          -----          --------------
          minute         0-59
          hour           0-23
          day of month   1-31
          month          1-12 (or names, see below)
          day of week    0-7 (0 or 7 is Sun, or use names)

   A field may be an asterisk (*), which always stands for ``first-last''.

   Ranges  of  numbers  are  allowed.   Ranges are two numbers separated with a hyphen.  The specified
   range is inclusive.  For example, 8-11 for an ``hours'' entry specifies execution at hours 8, 9, 10
   and 11.

   Lists  are  allowed.   A  list  is  a  set  of  numbers (or ranges) separated by commas.  Examples:
   ``1,2,5,9'', ``0-4,8-12''.

   Step values can be used in conjunction with ranges.  Following a range with ``/<number>'' specifies
   skips  of  the  number's value through the range.  For example, ``0-23/2'' can be used in the hours
   field to specify command execution every  other  hour  (the  alternative  in  the  V7  standard  is
   ``0,2,4,6,8,10,12,14,16,18,20,22'').  Steps are also permitted after an asterisk, so if you want to
   say ``every two hours'', just use ``*/2''.

答案2

您应该将“*”改为数字。因此您的第二个星号应该是 2,因此:

* 2 * * * /var/www/script.sh

并不是

* */2 * * * /var/www/script.sh

供将来参考 第一个星号用于指定运行的分钟(0-59) 第二个星号用于指定运行的小时(0-23) 第三个星号用于指定运行的月份日期(1-31) 第四个星号用于指定运行的月份(1-12) 第五个星号用于指定星期几(其中星期日等于

相关内容