如何在Linux/Unix上每分钟运行cron作业

时间:2020-01-09 10:39:38  来源:igfitidea点击:

如何运行一个cron作业,该作业应该每分钟运行一个特定的Shell脚本/home/jobs/sync.cache.sh。
如何在Linux或类似Unix的系统上每分钟使用crontab执行脚本?

cron守护程序用于在Linux或类Unix系统下执行命令或计划的命令或脚本。

Cron是Linux或UNIX之类的操作系统中最有用的工具之一。
它通常用于sysadmin作业,例如备份或清理/tmp /目录等。

每分钟运行一次cron作业

语法为:

* * * * * /path/to/your/script

要运行名为/home/Hyman/bin/foo的脚本,请执行crontab命令:

$ crontab -e

追加以下作业:

* * * * * /home/Hyman/bin/foo

保存并关闭文件。

它是如何工作的?

crontab的语法如下:

* * * * * command to be executed
- - - - 
| | | | |
| | | | ----- Day of week (0 - 7) (Sunday=0 or 7)
| | | ------- Month (1 - 12)
| | --------- Day of month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)

星号(*)运算符指定字段的所有可能值。
例如,小时时间字段中的星号等于每个小时,而月份字段中的星号等于每个月。
每个字段中的星号表示每分钟运行给定的命令/脚本。

关于使用/etc/cron.d/目录的说明

如果将cronjob放在/etc/cron.d/目录中,则必须像任务定义中一样提供用户名来运行

* * * * * USERNAME /path/to/your/script

例如,运行一个使用rsync复制更改的文件的脚本。
创建一个名为/etc/crond.d/rsync.job的文件

$ sudo vi /etc/crond.d/rsync.job

追加以下内容:

PATH=/sbin:/usr/sbin:/bin:/usr/bin

# Start job every 1 minute
* * * * * root /root/bin/replication.sh

# Another example
* * * * * root /usr/bin/perl /usr/lib/cgi-bin/check.for.errors.cgi

保存并关闭文件。