标签:常用选项 comm gre 方式 ddr atq info 系统 系统维护
定时任务命名有3个,at, batch, crontab
一. at命令:
at [option] TIME,at命令输完后,用ctrl+d完成输入
TIME方式:
1)HH:MM [YYYY-mm-dd]
2)noon, midnight, teatime(下午4点)
3)tomorrow
4)now+#{minutes,hours,days, OR weeks},比如at now+3minutes
常用选项:
-q QUEUE:
-l: 列出指定队列中等待运行的作业;相当于atq
-d: 删除指定的作业;相当于atrm
-c: 查看具体作业任务;
-f /path/from/somefile:从指定的文件中读取任务,一次执行多个任务,例如at -f at.task now+10minutes
注意:作业的执行结果以邮件通知给相关用户;
二. batch命令:
让系统自行选择空闲时间去执行此处指定的任务,不能自己指明时间;
三. 周期性任务计划:cron
1)相关的程序包:(rpm -qa | grep cron, rpm -qi cronie)
cronie: 主程序包,提供了crond守护进程及相关辅助工具;
cronie-anacron:cronie的补充程序;用于监控cronie任务执行状况;如cronie中的任务在过去该运行的时间点未能正常运行,则anacron会随后启动一次此任务;
crontabs:包含CentOS提供系统维护任务;
2)确保crond守护处于运行状态:
CentOS 7:
systemctl status crond
...running... 说明已启动
CentOS 6:
service crond status
四. 系统cron任务:系统自行维护作业, 配置文件:/etc/crontab
例1:晚上9点10分运行echo命令; 10 21 * * * gentoo /bin/echo "Howdy!" gentoo是用户名
例2:每3小时echo命令; 0 */3 * * * gentoo /bin/echo "howdy!" 注意系统cron需要指定用户身份
时间表示法:
(1) 特定值;
给定时间点有效取值范围内的值;
(2) *
给定时间点上有效取值范围内的所有值;
表示“每...”;
(3) 离散取值:,
#,#,#
(4) 连续取值:-
#-#
(5) 在指定时间范围上,定义步长:
/#: #即为步长
五. 用户cron:
crontab命令定义,每个用户都有专用的cron任务文件:/var/spool/cron/USERNAME
crontab命令:
crontab [-u user] [-l | -r | -e] [-i]
-l: 列出所有任务;
-e: 编辑任务;
-r: 移除所有任务;
-i:同-r一同使用,以交互式模式让用户有选择地移除指定任务;
-u user: 仅root可运行,代为为指定用户管理cron任务;
注意:运行结果以邮件通知给相关用户;
(1) COMMAND > /dev/null --正确运行不发邮件
(2) COMMAND &> /dev/null ---不管是否正常运行,都不发邮件
对于cron任务来讲,%有特殊用途;如果在命令中要使用%,则需要转义;不过,如果把%放置于单引号中,也可以不用转义;
六 思考:
(1) 如何在秒级别运行任务?
* * * * * for i in 0 1 2; do echo "hi"; sleep 20; done ---每20秒执行一次
(2) 如何实现每7分钟运行一次任务? (因为7不能被60整除,所以*/7会有问题),可以考虑用 sleep命令
sleep NUMBER[SUFFIX]...
SUFFIX:
s: 秒, 默认
m: 分
h: 小时
d: 天
练习:目录需要实现创建好
1、每4小时备份一次/etc目录至/backup目录中,保存的文件名称格式为“etc-yyyy-mm-dd-HH.tar.xz”;
2、每周2, 4, 7备份/var/log/messages文件至/logs目录中,文件名形如“messages-yyyymmdd”;
3、每两小时取出当前系统/proc/meminfo文件中以S或M开头的信息追加至/tmp/meminfo.txt文件中;
4、工作日时间内,每小执行一次“ip addr show”命令;
linux定时任务
标签:常用选项 comm gre 方式 ddr atq info 系统 系统维护
原文地址:http://www.cnblogs.com/regit/p/7772104.html