zoukankan      html  css  js  c++  java
  • 定时任务

    第1章 定时任务----闹钟

    含义:每隔相同的时间  每天 每小时 做相同的事情(命令 脚本) 备份

    第2章 定时任务的分类

    2.1 atd

     运行一次

    2.2 anacron

    非7*24小时运行的服务器

    2.3 crond

    一般使用这个

    第3章 crond分类:用户定时任务与系统定时任务

    3.1 系统的定时任务

    [root@dzc ~]# ls -ld /etc/cron*

    drwxr-xr-x. 2 root root 4096 Aug 10 10:52 /etc/cron.d

    drwxr-xr-x. 2 root root 4096 Aug 10 10:53 /etc/cron.daily

    -rw-------. 1 root root    0 Aug 24  2016 /etc/cron.deny

    drwxr-xr-x. 2 root root 4096 Aug 10 10:51 /etc/cron.hourly

    drwxr-xr-x. 2 root root 4096 Aug 10 10:52 /etc/cron.monthly

    -rw-r--r--. 1 root root  457 Sep 27  2011 /etc/crontab

    drwxr-xr-x. 2 root root 4096 Sep 27  2011 /etc/cron.weekly

    3.2 用户定时任务

    [root@dzc ~]# crontab -l            查看定时任务

    [root@dzc ~]# crontab -e           编辑定时任务

    第4章 定时任务的使用

    4.1 查看定时任务是否运行?

    [root@dzc ~]# ps -ef |grep crond

    root       1565      1  0 Sep05 ?        00:00:00 crond

    root       3898   3757  0 22:13 pts/0    00:00:00 grep --color=auto crond

    [root@dzc ~]# /etc/init.d/crond status

    crond (pid  1565) is running...

    4.2 查看定时任务是否开机自启动

    [root@dzc ~]# chkconfig |grep crond

    crond                0:off      1:off      2:onn     4:on       5:on       6:off

    4.3 crontab 定时任务的使用

    -l查看定时任务   -e编辑定时任务   -u是用指定的用户

    4.4 定时任务相关的文件

     /var/spool/cron/  定时任务的配置文件所在的位置

    /var/log/cron 定时任务的日志文件

    查看日志 less /var/log/cron    tail /var/log/cron

    /etc/cron.deny  禁止使用定时任务的用户放入这个文件中

    4.5 定时任务的书写格式

     

    4.6 定时任务中常用符号

    *每   /n */10每隔10分钟

    4.7 使用

    #####每五分钟同步一下系统的时间

    #######第一个里程碑-用什么命令

    [root@oldboyedu-40 ~]# ntpdate ntp1.aliyun.com

     7 Sep 10:52:44 ntpdate[33569]: step time server 182.92.12.11 offset 2286907.971444 sec

    [root@oldboyedu-40 ~]#

    ######第二个里程碑-定时任务

    [root@oldboyedu-40 ~]# crontab -l

    #sync time by li  20170101

    */5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1

    ######第三个里程碑-检查结果

    date -s "10year"

    Tue Sep  7 10:56:03 CST 2027

    ###每天的上午7点到上午11点 每一个小时运行CMD命令
    * 07-11 * * * CMD   ###错误 
    00 07-11   * * * CMD    ###OK

    00 07-11/1  * * * CMD   ###OK
    定时任务中表示小时 每个小时 在分钟上面加上00   表示整点 

    4.8 定时任务的书写流程

    第一个里程碑  命令行测试-把你的名字显示到文件中

    第二个里程碑  把命令放入到脚本中

    第三个里程碑  测试下脚本是否可用

    第四个里程碑  写定时任务

    第五个里程碑  检查结果

    第5章 定时任务总结

    1. 定时任务规则之前加注释
    2. 使用脚本替代命令行定时任务

    超过两条命令,都是用脚本     命令的集合 命令大礼包

    1. 定时任务脚本中的程序命令及路径尽量使用绝对路径
    2. 运行脚本一定要用/bin/sh或sh

    统一脚本的位置 /server/scripts

    1. 定时任务中-命令或脚本结果(正确及错误)定向到黑洞(> /dev/null 2>&1)或追加到文件中 >>/tmp/oldboy.txt 2>&1

    【企业案例】如果定时任务规则结尾不加>/dev/null 2>&1或者追加到文件中>>/tmp/oldboy 2>&1,很容易导致硬盘inode空间被占满,从而系统服务不正常。 

    n  定时任务中 命令或脚本的结果没有定向到空或文件或文件中

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

    邮件软件开启了----定时任务会不断的给root用户发邮键

    1. 避免不必要的程序及命令输出
    2. 打包压缩使用相对路径 (切刀目录目标的上一级打包目标)

      cd/ 进入到被打包目录的上一级目录

    1. 定时任务中date命令%百分号不识别 需要在%前面加上
    2. 系统与命令位置有关的环境变量问

     

    每分钟显示当前系统的日期 年-月-日_小时,把这个时间追加到/tmp/date.log

    ###每分钟显示当前系统的日期 年-月-日_小时 ,把这个时间追加到 /tmp/date.log

    #######第一个里程碑-命令行运行命令

    [root@oldboyedu-40 ~]# date +%F_%H

    2017-09-08_09

    [root@oldboyedu-40 ~]# date +%F_%H >>/tmp/date.log

    [root@oldboyedu-40 ~]# cat /tmp/date.log

    2017-09-08_09

    #######第二个里程碑-把命令放入到脚本中

    [root@oldboyedu-40 ~]# mkdir -p /server/scripts

    [root@oldboyedu-40 ~]# cat /server/scripts/date.sh

    date +%F_%H >>/tmp/date.log

    [root@oldboyedu-40 ~]# sh /server/scripts/date.sh

    [root@oldboyedu-40 ~]# cat /tmp/date.log

    2017-09-08_09

    2017-09-08_09

    #######第三个里程碑-定时任务

    [root@oldboyedu-40 ~]# crontab -l|tail -2 

    #print time to a file by li 20000101

    * * * * *  sh /server/scripts/date.sh >/dev/null 2>&1

    [root@oldboyedu-40 ~]# tail -2 /var/log/cron

    Sep  8 09:51:01 oldboyedu-40 crond[8913]: (root) RELOAD (/var/spool/cron/root)

    Sep  8 09:51:01 oldboyedu-40 CROND[35678]: (root) CMD (sh /server/scripts/date.sh >/dev/null 2>&1)

     

     

     

  • 相关阅读:
    Java 第十一届 蓝桥杯 省模拟赛 洁净数
    Java 第十一届 蓝桥杯 省模拟赛 第十层的二叉树
    Java 第十一届 蓝桥杯 省模拟赛 第十层的二叉树
    Java 第十一届 蓝桥杯 省模拟赛 第十层的二叉树
    Java 第十一届 蓝桥杯 省模拟赛 70044与113148的最大公约数
    Java 第十一届 蓝桥杯 省模拟赛 70044与113148的最大公约数
    20. Valid Parentheses
    290. Word Pattern
    205. Isomorphic Strings
    71. Simplify Path
  • 原文地址:https://www.cnblogs.com/dzc-/p/7929952.html
Copyright © 2011-2022 走看看