一、/etc/crontab、/etc/cron.deny 、 /etc/cron.allow文件介绍
[root@izwz9g0mp7j4yo1wjp5xaiz ~]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# For details see man 4 crontabs
# 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
这些任务都会是系统在运行起来后自动进行调度的。同时在/etc目录下还存放了/etc/cron.deny 和 /etc/cron.allow 文件
/etc/cron.deny 表示不能使用crontab 命令的用户
/etc/cron.allow 表示能使用crontab的用户。
如果两个文件同时存在,那么/etc/cron.allow 优先。
如果两个文件都不存在,那么只有root用户可以安排作业。
二、 crontab命令语法及其各个参数含义
crontab命令的语法为:
crontab [-e [UserName]|-l [UserName]|-r [UserName]|-v [UserName]|File ]
※:crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。
-e [UserName]: 执行文字编辑器来设定时程表,内定的文字编辑器是 vi
-r [UserName]: 删除目前的时程表
-l [UserName]: 列出目前的时程表
-v [UserName]: 列出用户cron作业的状态
三、crontab命令的格式
创建任务调度:
[root@izwz9g0mp7j4yo1wjp5xaiz ~]# crontab -e
crontab命令中的一些常用特殊符号:
符号 | 说明 |
---|---|
* | 表示任何时刻 |
, | 表示分割 |
- | 表示一个段:1-5,表示1到5点 |
/n | 表示没个n的单位执行一次,*/1表示每隔1个小时执行一次(同1-23/1) |
四、crontab的其他一些命令
crontab -l 命令来查看
crontab -r 终止自己刚创建的任务调度(任务调度会被清除)
chkconfig --list | grep cron 查看cron服务的启动情况
[root@izwz9g0mp7j4yo1wjp5xaiz home]# chkconfig --list | grep cron
crond 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
/sbin/service crond start 启动
/sbin/service crond stop 停止
/sbin/service crond restart 重启
/sbin/service crond reload 重新加载
把cron设为在开机自启动,在 /etc/rc.d/rc.local 脚本中加入 /sbin/service crond start 即可。