美文网首页
Linux定时任务

Linux定时任务

作者: 我不是黄忠 | 来源:发表于2017-07-10 10:48 被阅读0次

    一、at一次行定时任务

    • 相关服务
      at是由atd服务调度的,先查看系统上的atd服务
      如没有开启可用service开启。

    • 语法:

    at [-cmldv] TIME
    -m at工作完成后用email通知用户执行结果
    -l 相当于atq,查询当前用户的at工作任务
    -v 提示任务将执行的时间
    -d 相当于atrm命令,后接工作号,delete工作号的任务
    -c 后接工作号,可以列出该工作号的实际内容

    TIME格式:


    例:



      快捷键ctr+d结束输入。


    • 运行方式
        当我们使用at后,生成的命令会以脚本的形式存在/var/spool/at目录内,当使用at -c 查看具体任务内容,实际也是调用该脚本的内容。
      a开头的文件就是at生成脚本
        我们可以利用/etc/at.allow与/etc/at.deny这两个文件对at进行使用限制,具体情况是这样的:

    1.若存在allow文件,则文件内的用户可使用at,其他人不能使用at;
    2.若存在deny文件,则文件内的用户不能使用at,其他人可以使用at;
    3.若两个文件都存在,则allow生效;若都不存在,那么只用root可以使用at。

    at特色是后台执行,是放入系统的后台执行,与当前的终端无关,即使关闭远程终端定时任务也可按时执行。


    • batch命令
        batch是基于at命令的,它会在 CPU负载小于0.8时才进行工作任务,也就是在系统空闲时再进行任务,使用与at相同。

    二、crontab循环定时任务

    • 相关服务
      crontab的服务是crond,查看系统上crond服务

    • 权限设置
      与at类似,由/etc/cron.allow及/etc/cron.deny配置文件决定使用权限。

    • 语法

    crontab [-elr]
    -e 以当前用户,编辑工作内容
    -l 查阅工作内容
    -r 移除所有工作内容

    • 编辑crontab的格式

    ***** 命令

    每个*号代表的意义



      特殊符号:



      编辑后的任务会存放在/var/spool/cron/*下,*是编写crontab时的用户名。
    • 系统定时任务
        除了使用crontab -e来添加定时任务之外,在/etc/crontab里也可以编辑定时任务,该文件特点是可以指定用户权限来执行定时任务,所以该文件也只能由root才能编写。
    • 配置文件
        在/etc/cron.d下有crontab的配置文件,比如让系统每小时执行一次/etc/cron.hourly/内的可执行脚本文件等。

    三、anacron唤醒停机期间的工作任务

    anacron的主要目的是在主机因断电等原因停机导致定时任务没有被执行,在开启主机后会重新执行这些定时任务。
      anacron会每个小时检测一次时间,对比上次执行的定时任务时间是否超过一天、一周、一个月,若超过则在延迟一定时间后执行/etc/cron.daily、/etc/cron.weekly、/etc/monthly中的脚本。

    相关文章

      网友评论

          本文标题:Linux定时任务

          本文链接:https://www.haomeiwen.com/subject/itlrhxtx.html