如何在crontab中每天指定一个文件运行

How to specify a file to run everyday in crontab

我想每天使用 crontab 运行 一个文件。但是我对在 crontab 中指定文件感到困惑。因此,请建议我每天将文件提交给 运行(一天的开始,例如:12:00 am)。提前致谢。

使用以下格式:
0 0 * * * command

如果 "file" 你的意思是一个可执行的 shell 脚本,那么这将是:

00 00 * * * /path/to/the/executable/file.sh

每天午夜运行。您应该在调用 crontab -e 命令时将打开的文件中输入此行。一旦你编辑它,保存并退出,crontab 将验证你输入的语法是否正确,所以观察 shell.

中的输出
 # minute, hour, day of month, month, day of week

 * 12 * * * /home/mydirectory/myscript.sh
 * 23 * * * /home/mydirectory/myotherscript.sh
 58 23 * * * /home/mydrectory/two_minutes_to_midnight.sh
 * 0 * * * /home/mydirectory/goodnight.sh

要使 crontab 工作,您可以阅读官方文档,其中有很多,并且取决于您的操作系统。但是讲规则呢?我会举一些例子:

通用规则:

############################################################################
#
#    * * * * * running command
#    - - - - -
#    | | | | |
#    | | | | ----- day of week (0 - 7) (sunday =0 or =7)
#    | | | ------- month (1 - 12)
#    | | --------- day (1 - 31)
#    | ----------- hour (0 - 23)
#    ------------- minute (0 - 59)
#
###########################################################################

因此,如果您想每 "x" 分钟调用一次与您的文件一起使用的 shell 脚本,您可以制定这样的规则:

# work every two minutes
*/2 * * * * /usr/local/sbin/work_script.sh 

另外,范围之间:

# works every 5 minutes between 7 and 22 hours
*/5 7-22 * * * /usr/local/sbin/work.sh 

您可以每天使用以下命令将 crontab 条目初始化为 运行。

语法:* 10 * * * /home/nagios/myscript.sh

添加条目#crontab -e 并保存。 以上命令将在每天早上10点执行命令。