美文网首页
linux定时任务crontab

linux定时任务crontab

作者: coder_farmer | 来源:发表于2017-12-08 10:41 被阅读0次

    一、crontab介绍

    在linux中,可以通过crontab来实现定时任务。crontab是通过/var/spool/crontab目录下的与用户名相同的文件来定义的。所以root用户的定时任务就是由/var/spool/crontab/root来定义。

    crontab并不会随着linux启动而启动,所以我们需要手动启动crontab服务,或者把启动的命令放到自启动配置里面(具体操作自行google吧)。

    crontab的命令如下

        /sbin/service crond start 
        #关闭服务  
        /sbin/service crond stop 
        #重启服务  
        /sbin/service crond restart 
        #重新载入配置 
        /sbin/service crond reload  
    

    即使我们修改对应用户的配置文件,也不需要手动重启或者重新加载配置,因为crontab会每分钟自动加载配置文件。

    二、crontab的命令

        crontab -u #设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
      
        crontab -l #列出某个用户cron服务的详细内容  
    
        crontab -r #删除某个用户的cron服务  
    
        crontab -e #编辑某个用户的cron服务  
    

    三、crontab 定时任务的配置格式

    定义一个定时任务的格式如下

    * * * * * [command] 
    

    五个星号以此表示:

    • 分钟 (取值0-59)
    • 小時(取值0-23)
    • 日期(取值1-31)
    • 月份(取值1-12)
    • 星期(取值0-6) 0代表星期天

    除了数字,可以使用的特殊的符号如下

    • "*" 代表所有的取值范围内的数字
    • "/" 代表每的意思,"*/5"表示每5个单位
    • "-" 代表从某个数字到某个数字
    • "," 分开几个离散的数字。

    四、系统crontab

    编辑/var/spool/cron下的用户命名的配置文件是针对用户的,编辑/etc/crontab则是针对系统而言的。

        SHELL=/bin/bash #配置启动的脚本程序  
        PATH=/sbin:/bin:/usr/sbin:/usr/bin  
        MAILTO=root #如果出现错误,或者有数据输出,数据作为邮件发给这个帐号  
        HOME=/      #使用者运行的路径,这里是根目录  
        # run-parts  
        01 * * * * root run-parts /etc/cron.hourly #每小时执行/etc/cron.hourly内的脚本  
        02 4 * * * root run-parts /etc/cron.daily #每天执行/etc/cron.daily内的脚本  
        22 4 * * 0 root run-parts /etc/cron.weekly #每星期执行/etc/cron.weekly内的脚本  
        42 4 1 * * root run-parts /etc/cron.monthly #每月去执行/etc/cron.monthly内的脚本  
    

    run-parts参数指运行后面目录下的脚本文件,如果去掉run-parts,后面就要跟着具体的脚本文件了

    *脚本文件记得设置为可执行文件。

    相关文章

      网友评论

          本文标题:linux定时任务crontab

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