• 计划任务


    计划任务
    知识要点
    计划任务的意义
    计划任务分类
    用户计划任务crontab
    系统计划任务
    计划任务使用注意事项
    anacron服务介绍
    计划任务的意义
    计划任务
    创建和管理在指定时间自动执行的任务
    注意事项
    要使任务计划在指定时间自动运行,计划任务的服务必须是启动的
    计划任务分类
    使用at命令调用atd进程设置在某个特定的时间,执行一次性任务
    使用crontab命令调用crond进程,设置按固定的周期(如每天、每周等)重复执行预先计划好的任务
    一次性计划任务
    at命令
    在指定的日期、时间点自动执行预先设置的一些命令操作,属于一次性计划任务
    系统服务的名称:/etc/init.d/atd
    设置格式:at [HH:MM] [yyyy-mm-dd]
    [root@localhost ~]# service atd start
    启动 atd:                                               [确定]
    [root@localhost ~]# at 23:45
    at> reboot
    at> <EOT>
    job 1 at 2009-09-14 23:45
    [root@localhost ~]# atq
    1 2009-09-14 23:45 a root
    编号    时间              一次性  
    at -c 任务号
    查看计划任务的具体内容
    at命令常用时间格式:
    at [HH:MM]
    at [HH:MM] [yyyy-mm-dd]
    at now + 数字 [minutes|hours|days|weeks]
    at 时间 -f 文件
    使用文件中的命令作为计划任务
    at now + 5 minutes -f /root/test.sh(五分钟之后执行命令)
    at计划任务文件位置
    /var/spool/at/a开头的文件
    任务执行完毕,文件消失
    at计划任务文件位置
    /etc/at.deny :只有该名单里面的人不可以使用
    /etc/at.allow :只有该名单里面的人可以使用
    周期计划任务
    crontab命令
    按照预先设置的时间周期(分钟、小时、天……)重复执行用户指定的命令操作,属于周期性计划任务
    服务名称:/etc/init.d/crond
    主要设置文件
    用户定义的设置,位于文件:/var/spool/cron/用户名
    配置文件的通常包含三个部分
    注释
    环境变量
    cron命令
    cron服务配置文件
    位于文件:/etc/crontab
    系统cron就在该文件定义,是为了维护系统能够正常运行的,任务的格式也和用户cron有点不同,多了一个username
    crond计划任务里面的命令有时候可能不会执行,因为cron的环境变量PATH跟系统PATH不太一样,它的PATH的默认值为PATH=/sbin:/bin:/usr/sbin:/usr/bin,所以这就造成很多命令不能使用,所以解决的办法有两个,可以自己设定cron的PATH环境变量,也可以用命令的绝对路径,比如ls 我们可以使用 : /bin/ls
    cron服务的日志文件
    位于文件:/var/log/cron
    [root@localhost ~]# cat /etc/crontab
    SHELL=/bin/bash
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    MAILTO=root
    HOME=/
    # run-parts
    01 * * * * root run-parts /etc/cron.hourly
    02 4 * * * root run-parts /etc/cron.daily
    22 4 * * 0 root run-parts /etc/cron.weekly
    42 4 1 * * root run-parts /etc/cron.monthly

    用户计划任务
    管理cron计划任务
    编辑计划任务:crontab -e [-u 用户名]
    查看计划任务:crontab -l [-u 用户名]
    删除计划任务:crontab -r [-u 用户名]
    -r删除整个文件,清空所有计划任务
    删除一个,-e
    [root@localhost ~]# cd /var/spool/cron/
    [root@localhost cron]# crontab -e

    0 2 * * * cp /etc/passwd bak

    ~ 
    :x
    [root@localhost cron]# ls
    root
    [root@localhost cron]# cat root
    0 2 * * * cp /etc/passwd bak
    cron命令含义
    字段
    说明
    分钟
    取值为从059之间的任意整数
    小时
    取值为从023之间的任意整数
    日期
    取值为从131之间的任意整数
    月份
    取值为从112之间的任意整数
    星期
    取值为从07之间的任意整数,07代表星期日
    命令
    要执行的命令或程序脚本
    时间数值的特殊表示方法
    * 表示该范围内的任意时间
    , 表示间隔的多个不连续时间点
    - 表示一个连续的时间范围
    /n 指定间隔的时间频率
    应用示例
    0 17 * * 1- 5
    30 8 * * 1,3,5
    0 8-18 * * *
    0 12 */3 * *
    周一到周五每天17:00
    每周一、三、五的8点30分
    8点到18点整
    每隔3天的12点整
    示例1(root用户):
    每天早上7:50自动开启sshd服务,22点50时关闭
    每隔5天的12点整清空一次FTP服务器公共目录/var/ftp/pub
    每周六的7:30时,重新启动httpd服务
    每周一、三、五的17:30时,打包备份/etc/httpd目录
    [root@localhost root]# crontab -l
    50 7 * * * /sbin/service sshd start
    50 22 * * * /sbin/service sshd stop
    0 12 */5 * * /bin/rm -rf /var/ftp/pub/*
    30 7 * * 6 /sbin/service httpd restart
    30 17 * * 1,3,5 /bin/tar jcvf httpdconf.tar.bz2 /etc/httpd
    示例2(jerry用户):
    每周日晚上23:55时将“/etc/passwd”文件的内容复制到宿主目录中,保存为pwd.txt文件
    示例3:
    root用户查看自己的计划任务列表
    查看并删除jerry用户设置的计划任务

    [root@localhost root]# crontab -l -u jerry
    55 23 * * 7 /bin/cp /etc/passwd /home/jerry/pwd.txt
    [root@localhost root]# crontab -r -u jerry
    [root@localhost root]# crontab -l -u jerry
    no crontab for jerry
    [root@localhost root]#

    周期计划任务注意事项
    资源分配不均
    多个计划任务同时运行
    安全检查
    防止有非法计划任务
    周和日、月不可同时并存
    容易导致计划任务时间混乱
    周期计划任务
    计划任务实验:
    为root用户编写计划任务:每周2、4、6的10点到17点的每隔5分钟自动将passwd、shadow这2个重要系统文件归档到username.备份的日期和时间.tar.gz这种名称的文件里(例如:root.201202011615.tar.gz)备份文件放到/opt/目录下面,并且每成功备份一个文件就发一封邮件到root用户的邮箱,邮件内容是“username.备份的日期和时间.tar.gz is ok!”。
    root用户在/opt新建了一个文件fnum.txt专门用来统计普通用户hello的文件个数。请为普通用户hello编写计划任务:要求每5分钟,将系统中属于hello用户的文件的个数自动保存到/opt/fnum.txt文件中。内容格式为:“日期时间 姓名 拥有的文件个数是:数目”。
    anacron程序介绍
    anacron程序
    弥补cron在系统关机后不能执行计划任务的问题
    不能替代cron
    会每个小时被执行一次,脚本在/etc/cron.hourly
    按天、周或月为单位去检查系统未进行的cron任务
    /var/spool/anacron
    服务名称:/etc/init.d/anacrond
    开机时自动运行,然后将未执行的计划任务执行一遍后,anacron 就会自动停止
    anacron服务配置文件
    位于文件:/etc/anacrontab
    # /etc/anacrontab: configuration file for anacron
    # See anacron(8) and anacrontab(5) for details.

    SHELL=/bin/sh
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    MAILTO=root
    1 65      cron.daily              run-parts /etc/cron.daily
    7 70      cron.weekly             run-parts /etc/cron.weekly
    30 75      cron.monthly            run-parts /etc/cron.monthly
    本章总结
    执行一次性的计划任务
    at
    执行周期性的计划任务
    cron
    为周期性计划任务cron收拾残局的
    anacron
    熟练掌握cron计划任务的时间语法
  • 相关阅读:
    工单组件增强
    一些BAPI
    实例程序
    使用BAPI一定要提交和回滚(错误)
    动态内表值导出为TXT文件
    网页常用功能
    Code Complete
    Typescript 解构 、展开
    Typescript变量声明
    TypeScript基础数据类型
  • 原文地址:https://www.cnblogs.com/qluzzh/p/10306200.html
Copyright © 2020-2023  润新知