即 Linux 系统自带的 crontab 服务

权限

Linux 下可以通过创建文件 /etc/cron.allow 或者 /etc/cron.deny 来控制权限

1
echo app >> /etc/cron.allow

语法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
  • minute:代表一小时内的第几分,范围 0-59
  • hour:代表一天中的第几小时,范围 0-23
  • day of month: 代表一个月中的第几天,范围 1-31
  • month:代表一年中第几个月,范围 1-12
  • day of week:代表星期几,范围 0-7 (0 及 7 都是星期天)
  • user-name: 要使用什么身份执行该指令,当您使用 crontab -e 时,不必加此字段
  • command to be executed:所要执行的指令

    使用

    确定任务执行
    1
    2
    3
    systemctl status crond
    systemctl start crond
    systemctl stop crond
    默认日志目录:/var/log/cron

    命令

    1
    2
    3
    4
    5
    6
    /etc/crontab
    /etc/cron.daily
    /etc/cron.hourly
    /etc/cron.monthly
    /etc/cron.weekly
    /etc/cron.d
    1
    2
    3
    4
    5
    6
    crontab
    -l:列出当前用户的计划任务
    -e:编辑当前用户的计划任务
    -r:删除当前用户的所有计划任务,即删除 /var/spool/cron/USERNAME
    -u:管理指定用户的计划任务,仅 root 有权限
    -i:在使用 -r 选项删除所有任务时提示用户确认
    默认创建在 /var/spool/cron 下的用户名同名文件夹里