定时计划任务(RHEL7)

2018-07-08  本文已影响46人  半个王国

一次性计划任务

今晚23:30分自动重启网站服务

# at 23:30
at > systemctl restart httpd
at > 同时按下 Ctrl + D 组合键来结束编写计划任务
job 3 at Mon Apr 27 23:30:00 2017
# echo "systemctl restart httpd" | at 23:30
job 4 at Mon Apr 27 23:30:00 2017

查看刚刚创建的任务

# at -l
3 Mon Apr 27 23:30:00 2017 a root
4 Mon Apr 27 23:30:00 2017 a root

刚刚创建了2个一样的定时任务,删掉一个

// 删除序号3的定时任务
# atrm 3
// 再次查看
# at -l
4 Mon Apr 27 23:30:00 2017 a root

周期性定时任务

周期性地、有规律地执行某些具体的任务,依赖Linux系统的crond服务
命令 crontab -e 创建、编辑计划任务
命令 crontab -e -u <username> 编辑他人的计划任务
命令 crontab -l 查看当前计划任务
命令 crontab -r 删除某条计划任务

下图,使用crond服务设置任务的参数格式,注意的是,如果有些字段没有设置,则需要使用星号(*)占位,如图4-23所示


使用crond设置任务的参数字段说明
字段 说明
取值为0~59的整数
取值为0~23的整数
取值为0~31的整数
取值为1~12的整数
星期 取值为0~7的任意整数,其中0与7均为星期日
命令 要执行的命令或程序脚本

输入 crontab -e 命令来创建计划任务:每周一、三、五的凌晨3点25分,重启网络服务

# crontab -e
no crontab for root - using an empty one
crontab: installing new crontab
# crontab -l
25 3 * * 1,3,5 systemctl restart httpd

在crond服务中,多条计划任务的命令语句,每行仅写一条
在crond服务的计划任务参数中,所有命令一定要用绝对路径的方式来写
获取文件的绝对路径,可用whereis命令进行查询

我们再添加一条计划任务,功能:每周一至周五的凌晨1点钟自动清空/tmp目录内的所有文件

# whereis rm
rm: /usr/bin/rm /usr/share/man/man1/rm.1.gz /usr/share/man/man1p/rm.1p.gz
# crontab -e
crontab: installing new crontab
# crontab -l
25 3 * * 1,3,5 systemctl restart httpd
0 1 * * 1-5 /usr/bin/rm -rf /tmp/*

注意事项

上一篇 下一篇

猜你喜欢

热点阅读