一、crontab介绍
在linux中,可以通过crontab来实现定时任务。crontab是通过/var/spool/crontab目录下的与用户名相同的文件来定义的。所以root用户的定时任务就是由/var/spool/crontab/root来定义。
crontab并不会随着linux启动而启动,所以我们需要手动启动crontab服务,或者把启动的命令放到自启动配置里面(具体操作自行google吧)。
crontab的命令如下
/sbin/service crond start
#关闭服务
/sbin/service crond stop
#重启服务
/sbin/service crond restart
#重新载入配置
/sbin/service crond reload
即使我们修改对应用户的配置文件,也不需要手动重启或者重新加载配置,因为crontab会每分钟自动加载配置文件。
二、crontab的命令
crontab -u #设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l #列出某个用户cron服务的详细内容
crontab -r #删除某个用户的cron服务
crontab -e #编辑某个用户的cron服务
三、crontab 定时任务的配置格式
定义一个定时任务的格式如下
* * * * * [command]
五个星号以此表示:
- 分钟 (取值0-59)
- 小時(取值0-23)
- 日期(取值1-31)
- 月份(取值1-12)
- 星期(取值0-6) 0代表星期天
除了数字,可以使用的特殊的符号如下
- "*" 代表所有的取值范围内的数字
- "/" 代表每的意思,"*/5"表示每5个单位
- "-" 代表从某个数字到某个数字
- "," 分开几个离散的数字。
四、系统crontab
编辑/var/spool/cron下的用户命名的配置文件是针对用户的,编辑/etc/crontab则是针对系统而言的。
SHELL=/bin/bash #配置启动的脚本程序
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root #如果出现错误,或者有数据输出,数据作为邮件发给这个帐号
HOME=/ #使用者运行的路径,这里是根目录
# run-parts
01 * * * * root run-parts /etc/cron.hourly #每小时执行/etc/cron.hourly内的脚本
02 4 * * * root run-parts /etc/cron.daily #每天执行/etc/cron.daily内的脚本
22 4 * * 0 root run-parts /etc/cron.weekly #每星期执行/etc/cron.weekly内的脚本
42 4 1 * * root run-parts /etc/cron.monthly #每月去执行/etc/cron.monthly内的脚本
run-parts参数指运行后面目录下的脚本文件,如果去掉run-parts,后面就要跟着具体的脚本文件了
*脚本文件记得设置为可执行文件。
网友评论