• Linux下crontab的使用


    1.作用

    使用crontab命令可以修改crontab配置文件,然后该配置由cron公用程序在适当的时间执行,该命令使用权限是所有用户。

    2.格式

    crontab [-u user] {-l | -r | -e}

    3.主要参数

    -e:执行文字编辑器来设定时程表,内空的文字编辑器是vi

    -r:删除目前的时程表

    -l列出目前的时程表。

    Crontab文件的格式为”M H D m d cmd”。其中,M代表分钟(0~59),H代表小时(0~23),D代表天(1~31),m代表月(1~12),d代表一星期内的天(0~6,0为星期天)。Cmd表示要运行的程序,它被送入sh执行,这个shell只有USER、HOME、SHELL三个环境变量。



    使用cron服务,用server crond status查看cron服务状态,如果没有启动则service crond start启动它,cron服务是一个定时执行的服务,可以通过crontab命令添加或编辑需要定时执行的任务:

    crontab –u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数

    crontab –l //列出某个用户cron服务的详细内容

    crontab –r //删除某个用户的cron服务

    crontab –e //编辑某个用户的cron服务

    crontab filename //以filename作为crontab的任务列表文件并载入



    比如说root查看自己的cron设置:crontab –u root –l

    再例如,root想删除fred的cron设置:crontab –u fred –r

    在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab –u root –e

    进入vi编辑模式,编辑的内容一定要符合下面的格式:

    */1   *     *     *     *     ls >>/tmp/ls.txt

    编辑/etc/crontab文件,在末尾加上一行:30 5 * * * root init 6这样就将系统配置为每天早上5点30分自动重新启动。



    crontab 文件中的行由6个字段组成,不同字段间用空格或tab键分隔。前5个字段指定命令要运行的时间

    分钟(0-59)

    小时(0-23)

    日期(1-31)

    月份(1-12)

    星期几(0-6,其中0代表星期日,好像7也代表星期日)

    第6个字段是一个要在适当时间执行的字符串。

    例子:

    #MIN      HOUR     DAY       MONTH  DAYOFWEEK       COMMAND

    #每天早上6点10分

    10    6     *     *     *     date

    #每两个小时

    0     */2   *     *     *     date

    #晚上11点到早上8点之间每两个小时,早上8点

    0     23-7/2,8      *     *     *     date

    #每个月的4号和每个礼拜一到礼拜三的早上11点

    0     11    4     *     1-3  date

    #1月1日早上4点

    0     4     1     1       *  date

    补充:在使用crontab的时候,要特别注意的是运行脚本中能够访问到的环境变量和当前测试环境中环境变量未必一致,一个比较保险的做法是在运行的脚本程序中自行设置环境变量(export)

    (1)       先建一个文件crond.txt如下,每天早上5点36分重新启动

    36      5     *     *     *     reboot

    (2)上传到/opt目录

    (3)运行命令

    crontab /opt/crond.txt

    crontab –l

    让配置文件生效:如果让配置文件生效,还得重新启动cron,切记,既然每个用户下的cron配置文件修改后,也要重新启动cron服务器。



    在Fedora和Redhat中,我们应该用:

    /etc/rc.d/crond restart

    如果让crond在开机时运行,应该改变其运行级别:

    chkconfig –level 35 crond on
    service crond status查看cron服务状态,如果没有启动则service crond start启动它,cron服务是一个定时执行的服务,可以通过crontab命令添加或者编辑需要定时执行的任务

  • 相关阅读:
    【软件教程】oracle11g数据库的下载和安装
    (一)最新VMware vSphere Data Protection(VDP) 6.1.11 的安装过程
    缓存与库先写哪个,这十几张图告诉你
    因为它,差点无缘大厂梦!!!
    从小公司进入大厂,我都做对了哪些事?
    毕业一年后接私活赚了10w,还拿了几家大厂offer!
    同样是持久化,竟然有这么大的差别!
    硬核!15张图解Redis为什么这么快
    面试时说Redis是单线程的,被喷惨了!
    【漫画】活见鬼,明明删除了数据,空间却没减少!
  • 原文地址:https://www.cnblogs.com/duan2/p/7499713.html
Copyright © 2020-2023  润新知