crontab
crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。该词来源于希腊语 chronos(χρνο),原意是时间。通常,crontab储存的指令被守护进程激活, crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。
安装 crontab
yum install vixie-cron
yum install crontabs
启动服务
service crond start
自动启动
查看crond启动配置
chkconfig --list crond
设置crond自动启动
chkconfig --level 2345 crond on
配置任务
格式可以参考 /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
配置任务
crontab -e
输入后会进入一个文本编辑窗口,按照上述格式编写配置并保存退出.
13 8,12,16 * * * /root/desktop/news.sh
这里指的是每天8点,12点,16点的第13分钟执行 /root/desktop/news.sh 脚本.
保存后配置文件会放在 /var/spool/cron/ 文件夹下以用户名命名.
修改配置
如需再次修改配置可以
vim /var/spool/cron/root
或再次crontab -e
修改配置
查看配置
查看当前用户任务配置
crontab -l
其他
添加PATH
crontab 默认执行时的PATH只有默认的2项,通过修改 /etc/crontab 的PATH并在运行时读取配置(source /etc/profile
)即可添加在运行时使用的PATH.
13 8,12,16 * * * source /etc/profile && /root/desktop/news.sh