定时任务的详解

h每小时运行  d每天运行 w每周运行 m每个月运行  中毒时查看系统定时任务是否有病毒的脚本。

crontab  -l  查看用户的定时任务

crontab -e  进入编辑界面增加定时任务

/var/spool/cron/root         root用户定时任务的文件

定时任务的使用

一.

二.

查看定时任务日志----一定要会看日志

定时任务时间

30  08  *  *  *    命令或者脚本              每天的八点半执行

30  08  *  *  5                                      每周五的八点半执行

*/5  *  *  *  *                                         每五分钟执行 /n 表示每什么时候

创建每5分钟执行时间同步

crontab -e

*/5 * * * *  /usr/sbin/ntpdate  ntp1.aliyun.com 命令需要绝对路径

:wq 保存退出  crontab -l 查看

通过1.日志检查  tail  -f  /var/log/cron

2.看结果

每天7点到11点每个一个小时运行一次命令  - 从哪里到哪里

*  07-11   *    *    *          表示七点到十一点每分钟运行一次

00  07-11 *  *  *             表示七点到十一点每个小时运行一次 00表示整点

00  07,09  *  *  *            表示七点九点 运行一次 , 分割

00  23,00-07 *  *  *       每天的23点及0点到7点每个小时运行一次

列:每分钟把自己的名字追加到、/oldboy/oldboy.txt中

*/1  *  *  *  *    echo zhouyunchuan>>/odlboy/oldboy.txt

crontab -l 查看   tail -f /var/log/cron 检查结果

定时任务流程

九字箴言

在 脚本的前面加上PATH变量

脚本创建定时任务

1.书写命令  2.写入脚本 sh运行脚本

3.把脚本写入定时任务

4.检查 日志  tail -f  /var/log/cron 和命令对不对

列  sh /server/scripts/date.sh >>/oldboy/oldboy.txt

* * * * *  /bin/sh /server/scripts/date.sh >>/oldboy/oldboy.txt

创建定时任务 尽量把命令放入脚本中

创建存放脚本的目录一般 mkdir  -p /server/scripts/  目录下

故障案列

定时任务中命令或脚本结果(正确和错误)没有追加到文件或定向到黑洞

文件>>/oldboy/oldboy.txt

黑洞>/dev/null  2>&1 放进去会消失

需要知道脚本的结果和信息就追加到文件

如过不这么做的后果案列

企业案例 如果定时任务规则结尾不定向到黑洞或追加到文件

很容易导致硬盘inode占满 导致系统故障

1.邮件软件没有开启--大量小文件堆积在/var/spool/postfix/maildrop/ --inode满了

2.邮件开启--定时任务会不断的给root用户发邮件

关闭1.查看/etc/init.d/postfix status

2.关闭/etc/init.d/postfix stop

3.关闭自启动chkconfig postfix off 查看chkconfig|grep  postfix

列显示当前系统时间年月日 周和当前系统的ip地址追加到/tmp/ip.log

1.写命令

date +%F_%w

ifconfig eth0|awk -F '[: ]+' 'NR==2{print $4}'

2. 执行正确写入脚本ip.sh

vim /server/scripts/ip.sh

运行脚本追加到>>/tmp/ip.log  2>&1

/bin/sh  /server/scripts/ip.sh >>/tmp/ip.log 2>&1

3.写入定时任务里

crontab  -e

* * * *  *   /bin/sh  /server/scripts/ip.sh  >>/tmp/ip.log 2>&1

此时定时任务结果会出错 原因是脚本的第二行的

命令ifconfig 属于/sbin/下 定时任务中PATH只认识/bin 和/usr/bin使用绝对路径解决

或脚本开头添加export  PATH=命令的全部路径

如何处理因为没有定向到空而产生了大量小文件的方法

创建大量小文件环境  touch  {1..500000}.txt

报错-bash: /bin/touch: Argument list too long

参数太长

解决echo {1..500000}.txt|xargs touch

同样当前目录\rm  -fr  *会报同样的错

方法ls |xargs \rm -fr

方法删除文件所在目录(记好权限和所有者)

总结:1.命令测试

               注意事项 使用命令绝对路径

           2.编写脚本

               定时任务推荐使用脚本

命令全路径复制到脚本

创建指定的脚本目录/server/scripts

打包任务是切换到上级目录

3.测试脚本

查看和执行

4.编辑任务crontab -e

书写规范 加注释说明

定向到>dev/null  2>&1

或追加到文件     2>&1

复制正确的脚本路径

使用绝对路径或添加PATH变量

5.调试

   

一.定时任务详解https://i.cnblogs.com/EditPosts.aspx的更多相关文章

  1. java的动态代理机制详解-----https://www.cnblogs.com/xiaoluo501395377/p/3383130.html

    java的动态代理机制详解-----https://www.cnblogs.com/xiaoluo501395377/p/3383130.html

  2. URL https://i.cnblogs.com/EditPosts.aspx?opt=1

    URL url = new URL("https://i.cnblogs.com");URL url1 = new URL(url, "EditPosts.aspx?op ...

  3. [二次编码,数据类型补充以及各种坑]https://i.cnblogs.com/EditPosts.aspx?postid=11184330

    数据类型补充 str:不可变数据类型 1.capitalize首字母大写 name="song" n=name.capitalize() print(n) Song 2.title ...

  4. Nginx配置详解 http://www.cnblogs.com/knowledgesea/p/5175711.html

    Nginx配置详解 序言 Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的.从2004年发布至今,凭借开源的力量,已经接近成熟与完善. Nginx功能丰富,可作 ...

  5. laravel5.5的任务调度(定时任务)详解(demo)

    https://blog.csdn.net/LJFPHP/article/details/80417552 laravel5.5的定时任务详解(demo) 这篇文章写得挺详细的.看了它我基本就会用了 ...

  6. CentOS Linux使用crontab运行定时任务详解

    参考博文: (总结)CentOS Linux使用crontab运行定时任务详解

  7. Mybatis-Generator 详解 http://www.cnblogs.com/jtzfeng/p/5254798.html

    Mybatis-Generator 自动生成Dao.Model.Mapping相关文档 最近在学习mybatis,结果在写Mapping的映射文件时insert语句一直报错,于是想看看标准的映射文件是 ...

  8. spring定时任务详解(@Scheduled注解)( 转 李秀才的博客 )

    在springMVC里使用spring的定时任务非常的简单,如下: (一)在xml里加入task的命名空间 xmlns:task="http://www.springframework.or ...

  9. spring quartz 配置实现定时任务 详解

    一. 编写定时任务JAVA类 比如: public class QuartzJob {     public QuartzJob(){         System.out.println(" ...

随机推荐

  1. day 8 - 2 文件操作练习

    注册登录 需求: 1.对账号密码的长度进行限制并不允许出现特殊字符 2.把账号密码储存进文件中 3.密码最多输入错误三次 #分别判断注册时账号密码的长度与特殊字符 flag=1 while flag: ...

  2. 基于【字符】操作的IO接口:Writer、Reader

    Reader public class BufferedReaderTest { public static void main(String[] args) throws IOException { ...

  3. npm 常用命令详解(转载)

    学习gulp的使用时,对npm的掌握是必不可少的,经常到npm官网查询文档让我感到不爽,还不如整理了一些常用的命令博客上,于是根据自己的理解简单翻译过来,终于有点输出,想学习npm这块的朋友不可错过这 ...

  4. 【转载分享】 JLINKv9在迅为iTOP-4412精英板上的应用

    本文转自:https://www.amobbs.com/thread-5680586-1-1.html 很多人买迅为iTop4412精英板,在Android或Linux+Qt跑起来后学习开发调试应用程 ...

  5. Javascript - ExtJs - 常用方法和属性

    常用方法和属性(Common methods and attributes) ExtJs中的对象 Ext.Component Ext组件对象,表示一个可渲染的组件. Ext.dom.Element E ...

  6. linux中创建python的虚拟环境

    1,何为虚拟环境 linux是支持多用户的系统,如果某一位用户不想使用公用环境,想指定特殊的python版本安装仅供个人使用的一些包,那么虚拟环境将满足他的要求 2,虚拟环境使用需要virtualen ...

  7. thinkpad e系列 装win7过程

    电脑买回来时是win8系统,但是卡顿的厉害,装成win7,win8装win7流程还是比较复杂,后来又装成xp,现在又改成win7,记录一下装win7 的过程 我是用光盘安装的系统 第一步:进入boss ...

  8. [转] Python Traceback详解

    追莫名其妙的bugs利器-mark- 转自:https://www.jianshu.com/p/a8cb5375171a   Python Traceback详解   刚接触Python的时候,简单的 ...

  9. MySQL常用的sql操作

    1.日期时间格式化 2.日期时间格式化 3.查询第11到第15条数据 ,5//落过多少,取出多少. 4.字符串转日期 select str_to_date('2016-01-02', '%Y-%m-% ...

  10. 打印机wifi

    给人修理了半天共享打印机问题,连接不上,被共享机为32位xp系统,共享机为64位win7系统,共享时无法安装驱动,最后知道打印机具备连接wifi功能,然后用官网驱动连接打印机即可.out了,现在打印机 ...