简介
crontab 可以在 [指定时间] [时间段的间隔] 执行系统命令或执行 shell 脚本。
用法
crontab [-u user] file
crontab [-u user] [-l | -r | -e] [-i] [-s]
描述
Crontab is the program used to install, remove or list the tables used to drive the cron(8) daemon. Each user can have their own crontab, and
though these are files in /var/spool/ , they are not intended to be edited directly. For SELinux in mls mode can be even more crontabs - for
each range. For more see selinux(8).
The cron jobs could be allow or disallow for different users. For classical crontab there exists cron.allow and cron.deny files. If cron.allow
file exists, then you must be listed therein in order to be allowed to use this command. If the cron.allow file does not exist but the
cron.deny file does exist, then you must not be listed in the cron.deny file in order to use this command. If neither of these files exists,
only the super user will be allowed to use this command. The second option is using PAM authentication, where you set up users, which could or
couldn’t use crontab and also system cron jobs from /etc/cron.d/.
The temporary directory could be set in enviroment variables. If it’s not set by user than /tmp is used.
参数
-u Append the name of the user whose crontab is to be tweaked. If this option is not given, crontab examines "your" crontab, i.e., the
crontab of the person executing the command. Note that su(8) can confuse crontab and that if you are running inside of su(8) you should
always use the -u option for safety’s sake. The first form of this command is used to install a new crontab from some named file or
standard input if the pseudo-filename "-" is given.
-l The current crontab will be displayed on standard output.
-r The current crontab will be removed.
-e This option is used to edit the current crontab using the editor specified by the VISUAL or EDITOR environment variables. After you
exit from the editor, the modified crontab will be installed automatically.
-i This option modifies the -r option to prompt the user for a ’y/Y’ response before actually removing the crontab.
-s It will append the current SELinux security context string as an MLS_LEVEL setting to the crontab file before editing / replacement
occurs - see the documentation of MLS_LEVEL in crontab(5).
时间和间隔设置的说明
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
以上字段特殊字符
*
: 所有值,
: 枚举值-
: 整数范围/
: 频率
crontab 实例
每分钟执行一次
* * * * * curl baidu.com
每小时的第20和40分钟执行一次
20,40 * * * * curl baidu.com
每凌晨0点到6点之间的第20和40分钟执行一次
20,40 0-6 * * * curl baidu.com
每个星期一的凌晨0点到6点之间的第20和40分钟执行一次
20,40 0-6 * * 1 curl baidu.com