美文网首页PHP那些事儿
废寝忘食的Crontab

废寝忘食的Crontab

作者: 栋公子 | 来源:发表于2019-06-25 22:31 被阅读0次

    概述

    什么是crontab呢?

    crontab是用于设置周期性执行的任务的工具。该词来源于希腊语 chronos(χρνο),原意是时间。

    想象一下,你的工作如果是一个运维人员,你需要每天去对系统进行health check,你需要每天凌晨对过去的一天系统数据进行统计,你需要每周对系统日志进行备份切割,你需要每个月对系统关键数据进行备份,如果这些所有的工作全部用人去完成,那么你还哪有时间泡妞呢,到时候可就真是人傻钱多死的早了,但是有了crontab就不一样了,当你设置好了指令,他会帮你统统的搞定,然后你就可以去酒吧、去夜场、emmm..你懂的..

    安装

    说明:本次安装演示是在centos下,使用的工具为yum

    yum install -y cronie crontabs

    检查crontab是否启动命令

    systemctl status crond

    执行这条命令,如果返回一下说明启动安装并启动成功

    可以看到active的状态为running,说明服务正在运行

    那如果并未启动呢?执行下面这条命令启动

    systemctl restart crond //启动crontab

    启动完成用上述命令检查是否启动即可

    配置文件

    打开配置文件命令

    vi /etc/crontab

    可以看到一下内容

    SHELL=/bin/bash

    PATH=/sbin:/bin:/usr/sbin:/usr/bin //默认系统环境变量,如果有需要,可以在后面添加

    MAILTO=root //代表每触发一个任务都会给root用户发送系统内部邮件,需要保证邮件正常

    # 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

    解析:

    *  *  * *  *  my command

    分 时 日 月 周  要运行的命令

    /代表每 例如 */1 每分钟

    - 代表数字的区间,例如 1-10

    , 代表两个数字 例如 1,2

    命令:

    crontab -l //查看当前所有的命令

    crontab -e //编辑命令

    问题来了,对于写入对命令保存在哪里呢?

    如果是你是root用户,保存地址为:

    /var/spool/cron/root

    如果你是user_o1用户,保存地址为:

    /var/spool/cron/user_o1

    额外补充

    添加系统级别环境变量文件:

    vi /etc/profile

    PATH=/usr/local/php/bin/php

    export PATH

    添加用户级别环境变量

    vi /root/.bash_profile

    PATH=$HOME/bin:/usr/local/php/bin/php

    export PATH

    本文章到现在只是简单的讲解crontab,后续本文章会继续添加维护,请关注本专栏,获取更新

    相关文章

      网友评论

        本文标题:废寝忘食的Crontab

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