linux执行定时任务

北慕城南 提交于 2019-12-21 03:03:29

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
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!