linux定时任务crontab

一、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)