关于 /etc/crontab 及 /var/spool/cron/$USER 中定义定时任务

Catalogue
  1. 1. 简介
  2. 2. 定时任务脚本不执行

简介

定时任务在linux上主要体现在两个地方,一个是/etc/crontab ,另一个就是定义了任务计划的用户
/var/spool/cron/$USER

  1. /etc/crontab只有root用户可以使用,使用时需root权限,而且必须指定运行用户,才会执行
    */1 * * * * * root /usr/sbin/ntpdate s1a.time.edu.cn &> /dev/null

  2. /var/spool/cron/$USER所有用户都可以使用,可以使用crontab -u username -e命令来直接编辑这个文件。(相当于直接vi 这个文件)
    */1 * * * * * /usr/sbin/ntpdate s1a.time.edu.cn &> /dev/null

  3. * * * * *
    分 时 天 月 周

  4. 特殊符号
    / 每
    - 连续时间
    * 所有匹配

定时任务脚本不执行

定时任务没写错的话,那估计是脚本里没用【全局命令】(命令路径写全)

解决方法:

  1. 用【全局命令】
  2. 使用如下方法
    1
    2
    "30 * * * * su - root -c '/var/xxx.sh'
    chmod +x /var/xxx.sh'

crontab定时任务不执行的原因