Linux_基础_任务调度

Crontab 说明

Crontab 分类:
    系统任务调度:系统周期性所要执行的工作,如写缓存数据到硬盘、日志清理等。
    用户任务调度:用户定期要执行的工作,如用户数据备份、定时邮件提醒等。

Crontab 文件说明:
    /etc/crontab                # 系统任务调度文件
    /var/spool/cron/            # 用户任务调度文件,以用户名命名
    /etc/cron.deny              # 不允许用户使用crontab命令文件
    /etc/cron.allow             # 允许用户使用crontab命令文件

Crontab 服务

Crontab 安装:
yum -y install vixie-cron
yum -y install crontabs

Crontab 开机自启动:
chkconfig --level 35 crond on

Crontab 启动:
service crond start     # 启动服务
service crond stop      # 关闭服务
service crond restart   # 重启服务
service crond reload    # 重新载入配置
service crond status    # 查看服务状态

Crontab 表达式

表达式格式:
     *     *     *     *     *     *
    分钟    小时    日期    月份    星期    命令
    0-59   0-23    1-31   1-12    0-7   command       # 星期说明:0和7都表示星期天

特殊字符:
    *                # 代表任何时刻
    ,                # 代表分割时间。 例如:"2,5"表示"2,5"
    -                # 代表一段时间范围。 例如:"2-5"表示"2,3,4,5"
    /n               # n代表数字,即每隔n单位。 例如:"*/5"表示每隔5分钟执行

Crontab 命令

语法:
    crontab <选项> <参数>

选项:
    -e                                    # 编辑该用户的计时器设置
    -l                                    # 列出该用户的计时器设置
    -r                                    # 删除该用户的计时器设置
    -u<用户名称>                           # 指定要设定计时器的用户名称

参数:
    crontab文件                          # 指定包含待执行任务的crontab文件

实例:
    */1 * * * * command                   # 每1分钟执行一次command
    3,15 8-11 */2 * * command             # 每隔两天的上午8点到11点的第3和第15分钟执行一次command
    0 0 1-15 * 1 command                  # 每月1号到15号的每个周一0点0分执行一次command

    * * * * * date >> /home/date.txt      # 每1分钟将当期时间追加到date文件里
    * * * * * /home/myshell.sh            # 每1分钟执行一次shell脚本(shell脚本必须赋予执行权限)

Crontab表达式生成1:http://www.pppet.net/

Crontab表示式生成2:http://cron.qqe2.com/

Crontab表达式验证1:https://tool.lu/crontab/

Crontab表达式验证2:http://www.atool.org/crontab.php

原文地址:https://www.cnblogs.com/Small-music/p/9224811.html