Linux的计划任务
2017-03-14 08:03
267 查看
Linux的计划任务
1.at服务是一个一次行执行的任务的工具1.检查at 是否安装 chkconfig --list | grep atd/etc/at.allow,白名单/etc/at.deny,黑名单。at +时间,会延期执行。 atq,会显示准备执行的命令列表。 at -c 命令号,会显示该命令的具体执行过程。
atrm [工作号] #删除指定的at任务2.crontab 是一个用于设置周期性被执行的任务的工具crontab 周期性执行的任务列表cront job被周期性执行的任务1.安装和检查crontab 是否安装 crontab -l 检查crond 服务是否开启 service crond status // 大部分服务都是*d 安装cron yum install vixie-cron yum install crontabs/cron/at.allow,白名单/cron/at.deny,黑名单。2.crontab -e 编辑一个crontab 任务 */ * * * * date > /tmp/log.txt //没分钟打印一个日期到/tmp/log.txt tail -f /tmp/log.txt 动态刷新文件显示按crrl + c 停止3.crontab 的组成1>crond 系统服务 -----------》每分钟都会从配置文件刷新定时任务2>配置文件 ------------------》文件方式设置定时任务(要加用户身份)3>crontab 调整定时任务分别表示 分钟,小时,日,月,星期(0-6)星期天是0或者7,4.简单设置:每晚21.30 重启apache服务30 21 * * * service httpd restart每月的 1.10,12 的4.45重启apache45 4 1,10,12 * service httpd restart每月的1到10号4.45重启apache45 4 1-10 **service httpd restart没两分钟重启apache*/2 * * * * service httpd restart晚上11-7 重启apache0 23-7/1 * * * service httpd restart每天18-23 每隔30分钟重启一次1-59/30 18-23 * * * service httpd restart
*表示任何时候都匹配 可以用A,B,C,表示或A或B或C时执行mingl 可以用A-B表示A到B之间时执行命令 可以用*/A 表示每A分钟(小时等)执行一次命令5.crontab使用6.crontab的配置文件1》全局配置文件:/etc/crontab 可以在/etc/crontab 中设置计划任务:直接输入即可:(要加用户身份:命令尽量写绝对路径)2》var/spool/cron /root和crontab -l 中显示的相同。即crontab -e 修改的是var/spool/cron/root
1)手工执行定时任务 2)系统定时任务 - 第一种:把需要定时执行的脚本复制到/etc/cron.{daily,weekly,monthly}目录中的任意一个 - 第二种:修改/etc/crontab配置文件7.crontab 的日志var/log/cron 8.进入/var/spool/mail可以看到cron以邮件的形式发送给root9.常见的的错误:1》命令行双引号使用%没有加\四月的第一个星期天早晨1.59执行a.sh错误的: 59 1 1-7 4 0 /root/a.sh
第三和五域之间 执行的是 “或”操作 原来是想这 四月的第一个星期日早晨1时59分运行a.sh 59 1 1-7 4 0 /root/a.sh 但是实际上 1-7 与 0 是或的 关系,实际上会在4月的1-7日 每天都会执行,并且当星期数为星期七时,也会执行,所以执行次数多达11次。 所以应该把星期的判断 放在执行的脚本上。
正确:
59 1 1-7 4 * test `date +\%w` -eq 0 && /root/a.sh用test判断是否为星期天2》分钟设置错误 没两个小时执行一次 错误: * */2 * * * date //每分钟都会执行 正确: 0 */2 * * * * date9.每半分钟执行一次配合sleep */1 * * * * sleep 30s ;date10.anacron:
anacron用来保证在系统关机的时候错过的定时任务,可以在系统开机之后再执行。 检测周期:一天、7天、一个月。上次执行cron的时间与当前时间比较,若两个时间的差值超过了anacron的指定时间,证明有cron任务被执行。
CentOS 6.x的区别 在老的CentOS版本中,/etc/cron.{daily,weekly,monthly},这些目录即会被cron调用,也会被anacron调用,容易重复执行 在CentOS 6.x中则只会被anacron调用,避免重复执行 在CentOS 6.x中,anacron不再是服务,而是系统命令 anacron配置文件 vi /etc/anacrontab
RANDOM_DELAY=45 #最大随机延迟 START_HOURS_RANGE=3-22 #anacron执行时间范围 1 5 cron.daily nice run-parts /etc/cron.daily 7 25 cron.weeky nice run-parts /etc/weekly @monthly 45 cron.monthly nice run-parts /etc/cron.monthly 上面 1 7 @monthly 表示时间间隔1天 5天 一个月以上 5 25 是强制延迟时间 也就是后面文件强制推迟延迟执行这么多分钟
具体以cron.daily工作过程举例: 首先读取/var/spool/anacron/cron.daily中的上一次anacron执行时间和当前时间比较, 如果两个时间的差值超过1天,就执行cron.daily工作,执行这个工作只能在03:00~22:00之间 执行工作时强制延迟时间为5分钟,再随机延迟0~45分钟的时间 使用nice命令指定默认优先级,使用run-parts脚本执行/etc/cron.daily目录中的所有可执行文件
相关文章推荐
- linux 执行计划任务
- LINUX下的crontab计划任务
- linux下定时计划任务,经测试备份数据库有效
- linux crontab 计划任务
- linux下启动informix服务-计划任务
- 【原创】Linux计划任务--at命令
- Linux:计划任务之at
- Linux Crond执行计划任务
- Linux计划任务,自动删除n天前的旧文件
- linux下的计划任务
- linux系统下oracle计划任务脚本
- windows计划任务和linux计划任务
- Linux系统文件的归档与备份与计划任务配合使用
- Linux下使用crontab来执行定时任务计划
- RHCE课程-RH131Linux管理笔记四-Linux的计划任务
- linux 计划任务管理 起动java应用程序
- linux 任务计划
- RHCE课程-系统管理部分|4、linux的计划任务
- 每天一个知识点linux(十一)任务计划
- Linux:计划任务之cron