Centos定时任务crontab安装笔记
Crontab命令常用于设置周期性被执行任务。该命令从输入设备读取指令并将其存放于“crontab”文件中,crontab储存的指令被守护进程激活后,crond常常在后台运行。本文以centos为例,再次学习下crontab。(之前有看过类似教程,但都没有耐心看完...)
通过yum安装crontab:
yum -y install vixie-cron crontabs备注:
vixie-cron是cron的主程序;
crontabs是用来安装、卸装、列出cron护进程的表格的程序;
安装好后默认没有启动,需要手动启动。
debian安装crontab
apt-get install cron -y
常用命令:
/sbin/service crond start //启动服务 /sbin/service crond stop //关闭服务 /sbin/service crond restart //重启服务 /sbin/service crond reload //重新载入配置 service crond status //查看crontab服务状态: service crond start //手动启动crontab服务: ntsysv //查看crontab服务是否已设置为开机启动,执行命令: chkconfig --add crond //增加crontab服务 chkconfig --level 35 crond on //加入开机自动启动:
crontab 参数
语法:crontab [-u <用户名称>][配置文件] 或 crontab [-u <用户名称>][-elr]参数:
-e 编辑该用户的计时器设置。
-l 列出该用户的计时器设置。
-r 删除该用户的计时器设置。
-i 会和-r 配合使用,在删除当前的crontab时询问,输入y 则删除
-u <用户名称> 指定要设定计时器的用户名称。crontab 格式
基本格式 :
Minute Hour Day Month DayofWeek Command
* * * * * command
第1列表示分钟0~59 每分钟用*或者 */1表示
第2列表示小时0~23(0表示0点)
第3列表示日期1~31
第4列 表示月份1~12
第5列标识号星期0~6(0表示周日)
第6列要运行的命令
注意crontab是分用户的,以谁登录就会编辑到谁的crontab(当然,也可以指定用户)
crontab特殊的符号说明:
"*" 代表所有的取值范围内的数字。特别要注意哦!"/" 代表每的意思,如"*/5″表示每5个单位
"-" 代表从某个数字到某个数字
"," 分散的数字
crontab示例:
30 21 * * * /etc/init.d/nginx restart //每晚的21:30重启 nginx。 45 4 1,10,22 * * /etc/init.d/nginx restart //每月1、 10、22日的4:45重启nginx。 10 1 * * 6,0 /etc/init.d/nginx restart //每周六、周日的1:10重启nginx。 0,30 18-23 * * * /etc/init.d/nginx restart //每天18:00至23:00之间每隔30分钟重启nginx。 0 23 * * 6 /etc/init.d/nginx restart //每星期六的23:00重启nginx。 * */1 * * * /etc/init.d/nginx restart //每一小时重启nginx * 23-7/1 * * * /etc/init.d/nginx restart //晚上11点到早上7点之间,每 隔一小时重启nginx 0 11 4 * mon-wed /etc/init.d/nginx restart //每月的4号与每周一到周三 的11点重启nginx 0 4 1 jan * /etc/init.d/nginx restart //一月一号的4点重启nginx */30 * * * * /usr/sbin/ntpdate 210.72.145.20 //每半小时同步一下时间