crontab -l
:列出当前的定时任务
crontab -e
:编辑当前的定时任务,默认是vi编辑器
f1 f2 f3 f4 f5 program
* * * * *
- - - - -
| | | | |
| | | | +----- 星期中星期几 (0 - 7) (星期天 为0)
| | | +---------- 月份 (1 - 12)
| | +--------------- 一个月中的第几天 (1 - 31)
| +-------------------- 小时 (0 - 23)
+------------------------- 分钟 (0 - 59)
0 * * * * /bin/ls # 每月每天每小时的第 0 分钟执行一次 /bin/ls
0 */2 * * * /sbin/service httpd restart # 每两个小时重启一次apache
# .---------------- 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
日期格式和上面一样,只不过多了一个执行用户
0 * * * * root /bin/ls # 每月每天每小时的第 0 分钟执行一次 /bin/ls
0 */2 * * * root /sbin/service httpd restart # 每两个小时重启一次apache
几种便捷写法
@hourly 代表 0 * * * * ,每个小时运行一次
@daily 代表 0 0 * * * ,每天凌晨运行一次
@weekly 代表 0 0 * * 0 ,每周星期天凌晨运行一次
@monthly 代表 0 0 1 * * ,每个月第一天凌晨运行一次
@yearly 代表 0 0 1 1 * ,每年的头一分钟运行一次
@reboot 重启后执行一次
@reboot root /sbin/service httpd start # 开机启动apache
/etc/cron.d/
/etc/cron.hourly/ # 每小时执行一次下面的程序
/etc/cron.daily/ # 每天执行一次下面的程序
/etc/cron.monthly/ # 每月执行一次下面的程序
/etc/cron.weekly/ # 每周执行一次下面的程序
/etc/cron.d/
下面的文件和/etc/crontab
文件格式一样。
/etc/cron.d/0hourly
文件控制定时执行/etc/cron.hourly/
下面的程序
cat /etc/cron.d/0hourly
# Run the hourly jobs
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
01 * * * * root run-parts /etc/cron.hourly
/etc/anacrontab
文件控制定时执行/etc/cron.daily/
, /etc/cron.monthly/
,/etc/cron.weekly/
下面的命令
cat /etc/anacrontab
# /etc/anacrontab: configuration file for anacron
# See anacron(8) and anacrontab(5) for details.
SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# the maximal random delay added to the base delay of the jobs
RANDOM_DELAY=45
# the jobs will be started during the following hours only
START_HOURS_RANGE=3-22
#period in days delay in minutes job-identifier command
1 5 cron.daily nice run-parts /etc/cron.daily
7 25 cron.weekly nice run-parts /etc/cron.weekly
@monthly 45 cron.monthly nice run-parts /etc/cron.monthly