如何设置Linux(Centos)系统定期任务(crontab详细用法)
1.Crontab简介
Linux 系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。另外,由于使用者自己也可以设置计划任务,所以,Linux系统也提供了使用者控制计划任务的命令:crontab命令。
Linux中有分为系统任务和用户任务,系统任务是针对系统周期性的进行的任务,对于这些在进行修改的时候需要谨慎,在用户任务中是为了避免用户在修改的时候出现错误,从而影响系统而设置的,提供进行修改的地方。
/ect/corntab文件是系统任务,在改文件进行的修改会在所以用户下生效,使用者权限文件(用户任务文件):/etc/cron.deny(该文件中所列用户不允许使用crontab命令);/etc/cron.allow(该文件中所列用户允许使用crontab命令);/var/spool/cron/(所有用户crontab文件存放的目录,以用户名命名)
2、安装crontab:
正常都是已经安装的,如果没有使用yum安装
yum install crontabs
服务操作说明:
systemctl start crond.service //启动服务
systemctl stop crond.service //关闭服务
systemctl restart crond.service //重启服务
systemctl reload crond.service //重新载入配置
systemctl status crond.service //查看服务
查看crontab服务是否已设置为开机启动,执行命令:
ntsysv
在选项中前面有x的都是表示已经加入开机自动启动。
加入开机自动启动:
chkconfig –level 35 crond on
3、crontab文件写法
/etc/crontab开头都是:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=HOME=root
在文件中会有一段注释大概的意思就说如下图:
根据自己的需要在文件下方写下需要进行定时的功能就可以。例如:我在文件中加入:
* */1 * * * root /etc/cron.hourly/check-core-dir
意思是在每个小时定期执行存放在/etc/cron.hourly中的check-core-dir这个脚本,其他的类似的做法,当然也可以执行第几个小时进行执行,只需要把/去掉。