RHCE——计划将来的LINUX任务

来源:互联网 发布:mac卸载软件 编辑:程序博客网 时间:2024/05/21 06:47

使用at计划一次性的任务

yum -y install atd
at [-V] [-q x] [-f file] [-mldbv] timeat -c job ...atq [-V] [-q x]atrm [-V] job ...
1 2 -V 印出版本编号 -q 使用指定的伫列(Queue)来储存,at 的资料是存放在所谓的 queue 中,使用者可以同时使用多个 queue,而 queue 的编号为 a, b, c… z 以及 A, B, … Z 共 52 个 -m 即使程序/指令执行完成后没有输出结果, 也要寄封信给使用者 -f file 读入预先写好的命令档。使用者不一定要使用交谈模式来输入,可以先将所有的指定先写入档案后再一次读入 网络应用 -l 列出所有的指定 (使用者也可以直接使用 atq 而不用 at -l) -d 删除指定 (使用者也可以直接使用 atrm 而不用 at -d) -v 列出所有已经完成但尚未删除的指定

at命令执行流程

 [root@iZtoz99sjuwqcnZ ~]# echo "date > ~/myjob" | at now +2min
[root@iZtoz99sjuwqcnZ ~]# at 16:00 tomorrowat> touch /aaa/bbbat> <EOT>job 8 at Fri Aug 11 16:00:00 2017

AT Time中的时间表示方法

  Minute    at now + 5 minutes   任务在5分钟后运行  Hour      at now + 1 hour      任务在1小时后运行  Days      at now + 3 days      任务在3天后运行  Weeks     at now + 2 weeks     任务在两周后运行  Fixed     at midnight          任务在午夜运行  Fixed     at 10:30pm           任务在晚上1030分  Fixed     at 23:59 12/31/2018   任务在201812312359分 

使用cron计划周期性作业 

在线Cron表达式生成器

crontab任务配置基本格式:

*   *  *  *  *  command分钟(0-59) 小时(0-23) 日期(1-31) 月份(1-12) 星期(0-6,0代表星期天)  命令

cronExpression配置说明

字段 允许值 允许的特殊字符 秒 0-59 , - * / 分 0-59 , - * / 小时 0-23 , - * / 日期 1-31 , - * ? / L W C 月份 1-12 或者 JAN-DEC , - * / 星期 1-7 或者 SUN-SAT , - * ? / L C # 年(可选) 留空, 1970-2099 , - * / 

特殊字符 意义

* 表示所有值; ? 表示未说明的值,即不关心它为何值; - 表示一个指定的范围; , 表示附加一个可能值; / 符号前表示开始时间,符号后表示每次递增的值; L("last") ("last") "L" 用在day-of-month字段意思是 "这个月最后一天";用在 day-of-week字段, 它简单意思是 "7" or "SAT"。 如果在day-of-week字段里和数字联合使用,它的意思就是 "这个月的最后一个星期几" – 例如: "6L" means "这个月的最后一个星期五". 当我们用“L”时,不指明一个列表值或者范围是很重要的,不然的话,我们会得到一些意想不到的结果。 W("weekday") 只能用在day-of-month字段。用来描叙最接近指定天的工作日(周一到周五)。例如:在day-of-month字段用“15W”指“最接近这个 月第15天的工作日”,即如果这个月第15天是周六,那么触发器将会在这个月第14天即周五触发;如果这个月第15天是周日,那么触发器将会在这个月第 16天即周一触发;如果这个月第15天是周二,那么就在触发器这天触发。注意一点:这个用法只会在当前月计算值,不会越过当前月。“W”字符仅能在 day-of-month指明一天,不能是一个范围或列表。也可以用“LW”来指定这个月的最后一个工作日。 # 只能用在day-of-week字段。用来指定这个月的第几个周几。例:在day-of-week字段用"6#3"指这个月第3个周五(6指周五,3指第3个)。如果指定的日期不存在,触发器就不会触发。 C 指和calendar联系后计算过的值。例:在day-of-month 字段用“5C”指在这个月第5天或之后包括calendar的第一天;在day-of-week字段用“1C”指在这周日或之后包括calendar的第一天。 

Cron表达式范例

每隔5秒执行一次:*/5 * * * * ?每隔1分钟执行一次:0 */1 * * * ?每天23点执行一次:0 0 23 * * ?每天凌晨1点执行一次:0 0 1 * * ?每月1号凌晨1点执行一次:0 0 1 1 * ?每月最后一天23点执行一次:0 0 23 L * ?"0 15 10 15 * ?" 每月15日上午10:15触发 "0 15 10 L * ?" 每月最后一日的上午10:15触发 "0 15 10 ? * 6L" 每月的最后一个星期五上午10:15触发 "0 15 10 ? * 6L 2002-2005" 2002年至2005年的每月的最后一个星期五上午10:15触发 "0 15 10 ? * 6#3" 每月的第三个星期五上午10:15触发 

配置用户定时任务的语法:

crontab [-u user]filecrontab [-u user] [-l| -r | -e][-i]

参数与说明:

crontab -u//设定某个用户的cron服务crontab -l//列出某个用户cron服务的详细内容crontab -r//删除没个用户的cron服务crontab -e//编辑某个用户的cron服务

运用实例

0 1 * * * /home/testuser/test.sh每天晚上1点调用/home/testuser/test.sh# run-parts01 * * * * root run-parts /etc/cron.hourly02 4 * * * root run-parts /etc/cron.daily
原创粉丝点击