Linux杂记--计划任务

  • 任务计划
  • 1.将系统执行的任务写成脚本,期望脚本在未来的某个时间点执行一次;
  • at: 可能需要安装at-3.1.10-43.el6_2.1.x86_64软件包;
    • at >:执行时间
    • at >:COMMAND
    • at >:Ctrl+D
    • 指定时间的方法:
      • 10 : 20:绝对时间的指定:HH:MM DD.MM.YY MM/DD/YY;
      • now+ #:单位:minutes,hours,days,weeks;
    • 模糊时间的匹配:
      • moon hours teattime[下午四点]
    • -l:
      • 用于显示计划作业,相当于atq;
    • -d:
      • 用于删除作业,相当于atrm;
    • 对于这个命令.存在权限限定文件,可以通过/etc/at.deny /etc/at.allow,来限定那些用户可以使用这个命令;
      这里写图片描述
      这里写图片描述
    • 对于at命令的执行结果,会通过邮件的方式发送给执行这个命令的用户;
  • 2.希望脚本在时间点重复的执行;
  • cron:
    • 是一个不间断运行的服务,过期的服务就不会被执行;
  • anacron:
    • 能够实现让cron的补充,能够实现让cron因为各种原因在过去的时间改执行而未执行的任务在服务恢复正常时,在执行一次,这个服务默认是不起动的,在笔记本等经常关机的系统上需要自己启动;
    • 系统记录的cron的格式:
      • /etc/crontab:
      • 分钟 小时 天 月 周 用户 任务
    • 用户cron的任务格式:
      • /var/spool/cron/USERNAME
      • 分钟 小时 天 月 周 任务;
    • 时间的取值范围:
      • 分钟:0->59; 小时:0--23;天:1-->31;月:1---12;周:0--7
      • 对于07都表示的的是星期日;
    • 时间的通配表示:
      • 具体时间:
        • 3 * * * * :表示每小时的第三分钟执行一次;
        • 3 * * * 7:表示每周天的每个小时的第三种分钟执行一次;
        • 13 12 6 * 3:表示每月的6号,同时是周三,在12:13执行一次;
      • 离散时间:
        • 10,40 * * * *:表示每小时的10分和4分执行依次;
      • -连续时间点:
        • 10 02 * * 1-5:表示周一到周五;
      • /:对应取值范围内没多长时间执行一次:
        • */3, * * * *:表示每三分钟执行一次;
        • 1 */2 * * * > /dev/null:每两小时执行一次
  • cron的环境变量 :cron执行的所有命令都去path环境变量指定的路径去查找,用户没有登录,是没有环境变量的,所以在这里的命令建议使用绝对路径,脚本执行中export PATH=/bin:/sbin
  • run-partsredhat提供的一个自动执行目录里面脚本的一个命令,里面脚本的执行顺序是按照文件名称进行排序的,所以可以通过添加文件名首部的数值信息,来更改排序规则;
  • run-parts:仅仅是对于大量脚本文件的一个托管,时间的规划实现还是需要在/etc/crontab里面来进行定义*/5 * * * * root run-parts /etc/mysh,对应的脚本文件应该在/etc/mysh这个目录里面;
  • 对于crontab来说也存在专门的命令来进行管理:
    • -l:用于列出所有的任务;
    • -e:用于编辑任务;
    • -r:表示移除所有任务
    • -r USERNAME:结合上面的选项,可以用来编辑其他用户的命令;
  • anacron:这个出现的原因是因为某些特殊的原因,cron里面的计划任务没有执行,这个命令就是用来在系统恢复正常以后,能够及时的执行这些计划任务;
/etc/anacrontab
#period in days   delay in minutes   job-identifier   command
1   5   cron.daily      nice run-parts /etc/cron.daily
7   25  cron.weekly     nice run-parts /etc/cron.weekly
@monthly 45 cron.monthly        nice run-parts /etc/cron.monthly
  • 上面的含义分别表示:
    • 1:表示在过去一天没有执行的;
    • 5:表示一个任务一天应该执行一次,但是没有执行,在系统正常之后的5分钟执行;
  • 这个命令的缺陷是最小只能够监控到每天任务;
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36294875/article/details/79948271
个人分类: Linux运维笔记
上一篇Linux 进程杂记以及进程查看命令
下一篇Linux杂记 日志系统
想对作者说点什么? 我来说一句

Linux计划任务

2012年11月05日 40KB 下载

没有更多推荐了,返回首页

关闭
关闭