博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2019/02/11 计划任务管理02
阅读量:3923 次
发布时间:2019-05-23

本文共 2965 字,大约阅读时间需要 9 分钟。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

周期性的计划任务 cron

在这里插入图片描述
这是个计划服务,需要安装这个包,可能还需要其他包,cronie
在这里插入图片描述
**crontab 创建计划工具对应的服务名,需要确保服务启动 **
在这里插入图片描述
在这里插入图片描述
监控这些计划,在某些情况下未执行,就可以利用这个补充工具在将来随着计算机启动,帮你执行了
crontabs 和系统相关的一些辅助性的计划任务,run-parts脚本
在这里插入图片描述
可以批量执行一些计划任务在这里插入图片描述
/etc/crontab关于系统的计划任务的配置文件
计划任务也是要在shell运行,你想要用哪个shell,(SHELL)
有些需要运行的执行程序,这些程序放到哪里进行搜索(PATH)
给谁发邮件(MAILTO)
在这里插入图片描述
上面就是一些返利,让你按照什么格式书写计划任务
有5个时间项,
1(表示分种 ,0-59)
2.(小时,0-23)
3.每个月的第几天(1-31)
4.月份(1-12)也可以写英文,jan
5.星期几(0-6)(星期天可以是7也可以是0)
用户名 执行的命令
在这里插入图片描述
**55分钟(空格隔开。几个都行)
15时
表示每天的意思
5月(5-9范围)(5,7,9某个月)
每个星期天执行
wang用户执行
wall cron job 命令广播
写到文件里,重启也丢不了,但是有个文件,这个文件只有root有权限更改,普通用户想要创建自己的计划任务还需要通过 其他办法
在这里插入图片描述
工作日的1-5半夜2点打包etc的目录打包到data的etc.tar.gz
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述硬件时间对的,软件时间错误,软件时间同步到硬件时间
面试经常问这个格式。比如每个月的1,10,20日想执行
在这里插入图片描述
这样写(1,10,20日,周六6周日0)或者的关系,有man帮助申明
在这里插入图片描述
*如果命令指定的是下面两个字段(每个月的天,每个星期的填),如果都指定了,并且不包括(任意的意思)的情况下,这个命令将运行在,匹配当前时间的任意时间
如(30 4 1,15 * 5)每个月的1,15日,或者星期5,它将在每个月的一号,15号,或者每个星期五执行
plus +
**
想要代表并且的关系,就在脚本里面判断是0还是星期6 就执行,不是就不执行
在这里插入图片描述
在这里插入图片描述
表示每十分钟执行一次
在这里插入图片描述
在这里插入图片描述
** */10表示每十分钟执行一次
还可以用单词的一些用法,
@monthly = 0 0 1 * * 每个月的1号0点 **
在这里插入图片描述
当重启的时候自动执行某个操作 (下次启动的时候就马上执行一次)
@reboot
@reboot
按电源的关闭,也会执行,并不是单指reboot命令
在这里插入图片描述
在这里插入图片描述
专门有一个cron文件,记录当前发生的事件
在这里插入图片描述
如果这个日志文件,不小心误删,比如创建一个计划任务,不小心删除了计划任务,删除以后,可以利用这个日志里的内容来恢复计划 任务
利用信息,恢复现有的计划任务
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这个命令是标准输出信息,会发邮件给你
这个文件是针对管理员,普通用户要想创建计划任务,一般有专门自己的命令
在这里插入图片描述
在这里插入图片描述
crontab 针对单个用户想创建计划任务
在这里插入图片描述
-e代表编辑创建任务,不过打开是一个文本文件,每分钟广播
在这里插入图片描述
放在了磁盘上
在这里插入图片描述
不能继续直接编辑,虽然不想,但是可以用命令来继续编辑
crontab -e
在这里插入图片描述
有特殊权限,只能借助suid的权限进去修改文件
在这里插入图片描述
在这里插入图片描述要编辑谁的计划任务,、
如果不加用户名,就是给你自己的任务,root也可以修改wang用户的任务
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
任务修改了,用户名和用户组都是root,当然wang用户也可以修改回来,因为crontab有suid权限,想怎么改就怎么改
在这里插入图片描述
-l查看计划任务,-r删除计划任务,是wang用户所有的计划任务
在这里插入图片描述
在这里插入图片描述
-i是配个-r使用的,会以交互式的方式给你使用
-u 指定用户运行
crontab作为普通用户来讲是经常使用的,也可以控制具体哪个用户可以执行还是不执行(类似白名单,黑名单)
如果用户创建好了计划任务,后来把它放在黑名单,黑名单是针对用户不能再创建新的计划任务,老的继续执行
在这里插入图片描述
和at一样,默认只有黑名单没有白名单
在这里插入图片描述
at -c 查看细节 crontab 没有,crontab只能-e 打开看看
at -d 删除 crontab -r 删除
编辑 at没有 (除非直接改文件) crontab -e
所有at 和crontab 的标准输出错误都会邮寄给用户
root用户可以修改其他用户的任务

每十分钟检查一次磁盘利用率,发现80以上就报警

在这里插入图片描述
磁盘快满了
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

逐渐消耗inode
在这里插入图片描述
在这里插入图片描述
空间满了或节点编号满了就报警
如果先实际生产中写了,逻辑上的错误,如下
在这里插入图片描述
centos6上也这样执行
在这里插入图片描述
一直在循环重启,以前7的方法就是救援模式,加光盘,按e字母,选中第一项,i正常启动的内核
在这里插入图片描述
在这里插入图片描述
在net.ifnames=0 加rd。break 按ctrl+x继续执行
在这里插入图片描述
在这里插入图片描述
在真正的跟下修改文件,写权限没有,加上写权限挂载
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
删除问题行上面是centos7的解决方案,下面是centos6
输入a
在这里插入图片描述
再输入1在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
再切换成正常模式init5
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
run-parts 是个程序,运行特定目录里所有脚本
在这里插入图片描述
在这里插入图片描述
因为有些计划任务时间过去了还没执行,那就可以重新启动下次执行
系统本身带有一些计划任务在(cron.d)这个目录创建的计划任务,就会定期执行
在这里插入图片描述
crontab相当于它的配置文件,cron.d子配置文件
所以cron.d下的文件相当于配置文件
在这里插入图片描述
每小时第一分钟就执行这个目录下的所有可执行脚本
在这里插入图片描述
每天 的1点钟而且星期天执行脚本
在这里插入图片描述
**这个脚本时收集日志的,
每10分钟执行一次
下面是每天在23:53创建一个日志
就可以以后想要跑脚本就放在这里,参照这个格式
**
在这里插入图片描述
都能放脚本文件
在这里插入图片描述
makewhatis mandb可以生成数据库
locate 索引
每天都会创建索引
在这里插入图片描述
如果是家用电脑,关机早,这些脚本就不按计划执行,就可以用到cronie-anacron,是一个俯冲的解决方案
确保因为计算机关机而没执行 任务,执行对应的配置文件/etc/anacrontab
在这里插入图片描述
在这里插入图片描述
1=一天执行一次,5=开机5分钟之后,自动去扫描/etc/cron.daily文件,是否因为关机未执行,未执行就执行
每周的计划任务7=每7天执行一次 25=开机24分钟以后自动去扫描/etc/cron.weekly文件,是否因为关机未执行,未执行就执行
但是同时执行有可能影响服务器性能,就有一个随机延迟random_delay=45(有可能5,10分钟,最大达到45分钟)可以错开高峰
在这里插入图片描述
centos6放每天的计划任务里 tmpwatch,清除临时文件
在这里插入图片描述
在这里插入图片描述
每天检查,发现有些tmp已经存在10天以上就删除
而/var/tmp是以30天为条件的,超过30 删除
centos7 上有专门的服务
在这里插入图片描述
临时文件在linux不用手动清,是脚本自动清的
在这里插入图片描述
生成一个年月日的文件在这里插入图片描述
如果把这个命令放到计划任务里
在这里插入图片描述
每分钟执行
在这里插入图片描述
查看日志,百分号在cron里是有特殊含义的,如果用需要转义
在这里插入图片描述
如果不转义干脆写在脚本里
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述执行 了
带这种符号的最好写到脚本,以免出现错误
在这里插入图片描述
每20秒做一件事,可以结合sleep使用,也可以用循环
在这里插入图片描述
也可以编死循环,永远等待20秒执行,脚本等20秒再调用自己
在这里插入图片描述
如果是毫秒怎么 办
在这里插入图片描述也有usleep,达到微秒,1000微妙=1毫秒,1000000微秒=1秒,也可以分,时,天
在这里插入图片描述
*每7分钟怎么执行 /7(除不尽,就不能整7分钟执行)
在这里插入图片描述
在这里插入图片描述
监控的工具面试题经常出(cpu,内存利用率)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

转载地址:http://kwkgn.baihongyu.com/

你可能感兴趣的文章
java发邮件eclipse中测试没问题,部署到tomcat上收到的是乱码问题排查
查看>>
nginx配置https之后,https请求被调转到http问题
查看>>
PageHelper的简单追踪
查看>>
根据参数值的不同,调用不同实现类
查看>>
1、Annotation
查看>>
2、Annotation的实现
查看>>
CyclicBarrier && CountDownLatch
查看>>
java.lang.Object
查看>>
mqtt的messageId是怎么回事
查看>>
记一次线上CPU持续飙升的问题排查
查看>>
java.util.Stack
查看>>
java.lang.Class
查看>>
设计模式之恋
查看>>
手写spring
查看>>
使用redis分布式锁实现一个秒杀业务
查看>>
工厂方法模式(Factory Method)
查看>>
抽象工厂(Abstract Factory)模式
查看>>
建造者(Builder)模式
查看>>
java.lang.InheritableThreadLocal
查看>>
oracle定时器定时清理某张表指定日期前的数据
查看>>