【linux下crontab】Linux下Crontab 安装使用详细说明

更新时间:2020-04-05    来源:php安装    手机版     字体:

【www.bbyears.com--php安装】

crontab命令常见于Unix和Linux的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。通常,crontab储存的指令被守护进程激活。crond 常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。

一、安装

yum -y install vixie-cron

yum -y install crontabs
二、配置

cron 是 linux 的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:
service crond start     //启动服务
service crond stop      //关闭服务
service crond restart   //重启服务
service crond reload    //重新载入配置
service crond status    //查看crontab服务状态
在CentOS系统中加入开机自动启动: chkconfig --level 345 crond on

三、添加任务

方法1:

使用命令 crontab -e 然后直接编辑定时脚本。
这样执行以后,属于用户自定义的,会被写到 /var/spool/cron 目录下,生成一个和用户名一致的文件,文件内容就是我们编辑的定时脚本。


直接用crontab命令编辑

cron服务提供 crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:

crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除某个用户的cron服务
crontab -e //编辑某个用户的cron服务比如说root查看自己的cron设置:crontab -u root -l

再例如,root想删除fred的cron设置:crontab -u fred -r
基本格式 :
分  时  日  月  周  命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)

方法2:

使用命令 vi /etc/crontab 编辑定时脚本。

它包括下面几行:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
 
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

前四行是用来配置 cron 任务运行环境的变量。
SHELL 变量的值告诉系统要使用哪个 shell 环境(在这个例子里是 bash shell);
PATH 变量定义用来执行命令的路径。
cron 任务的输出被邮寄给 MAILTO 变量定义的用户名。
如果 MAILTO 变量被定义为空白字符串(MAILTO=""),电子邮件就不会被寄出。
HOME 变量可以用来设置在执行命令或脚本时使用的主目录。
如果不加run-parts参数,可是直接写任务文件,而不是文件夹。

(系统级的)做系统级配置我们会直接配置 /etc/crontab
(用户级的)一般还是建议大家使用 crontab -e ,这样系统也会帮着检查我们配置的脚本语法。

crontab范例
    每五分钟执行  */5 * * * *

    每小时执行     0 * * * *

    每天执行        0 0 * * *

    每周执行       0 0 * * 0

    每月执行        0 0 1 * *

    每年执行       0 0 1 1 *

设定cron的权限
        /etc/cron.allow
        /etc/cron.deny

        系统首先判断是否有cron.allow这个文件,如果有这个文件的话,系统会判断这个使用者有没有在cron.allow的名单里面,如果在名单里面的话,就可以使用cron机制。如果这个使用者没有在cron.allow名单里面的话,就不能使用cron机制。

         如果系统里面没有cron.allow这个文件的话,系统会再判断是否有cron.deny这个文件,如果有cron.deny这个文件的话,就会判断这个使用者有没有在cron.deny这个名单里面,如果这个使用者在cron.deny名单里面的话,将不能使用cron机制。如果这个使用者没有在cron.deny这个名单里面的话就可以使用cron机制。

        如果系统里这两个文件都没有的话,就可以使用cron机制

本文来源:http://www.bbyears.com/jiaocheng/92004.html

热门标签

更多>>

本类排行