CRONTAB是一个用以安装周期性被实践的职务的工具,有了它,我们就能够从定时工作中解放出来。

1,crontab简介

crontab定时任务,crontab任务

1,crontab简介

  crontab命令常见于Unix和Linux的操作系统之中,用于安装周期性被实施的吩咐。该命令从行业内部输入设备读取指令,并将其存放于“crontab”文件中,以供以往读取和推行。平时,crontab储存的命令被看护进程激活。crond
平时在后台运转,每1分钟检查是还是不是有预约的作业须要实践。那类作业一般称为cron
jobs。

  全数用户定义的crontab 文件都被保存在/var/spool/cron目录中,其文件名与用户名相同。

  使用控制文件如下:

    黑名单:/etc/cron.deny  该公文中所列用户不允许选择crontab命令

    白名单:/etc/cron.allow  该文件中所列用户同意采用crontab命令

  Ubuntu下私下认可未有那七个文件,1般也不用,私下认可全数用户均可选择crontab命令。那八个应用控制文件的格式都以每行3个用户,多少个公文都不允许空格。借使使用控制文件被改动了,cron守护进度(crond)不必被重启。使用控制文件在每一遍用户增进或删除壹项cron职分时都会被读取。无论使用控制文件中的规定如何,root都总是能够选择cron。假如cron.allow文件存在,唯有当中列出的用户才被允许使用
cron,并且 cron.deny 文件会被忽略。倘使 cron.allow 文件不存在,全数在
cron.deny 中列出的用户都被禁止接纳 cron。

  用户若新增调度能够输入crontab
-e命令建立和睦的crontab文件,也得以在/etc/crontab文件中加上,注意编辑权限。

 

2,crontab任务格式

  crontab文件中,每1行都表示1项职分,每行的各类字段代表一项设置,它的格式共分为两个字段,前5段是时间设定段,第四段是要履行的命令段,格式如下:

  minute   hour   day   month   week   command

  其中:

minute: 表示分钟,能够是从0到5玖里头的其它整数。

hour:表示小时,能够是从0到二叁时期的其它整数。

day:表示日期,能够是从壹到31里边的别的整数。

month:表示月份,能够是从一到1二以内的其它整数。

week:表示星期几,能够是从0到七之间的其他整数,那里的0或七意味周三。

command:要实行的命令,能够是系统命令,也能够是上下一心编写的本子文件。

澳门金沙国际 1

  在上述种种字段中,还是能够利用以下特殊字符:

    星号(*):代表享有望的值,例如month字段固然是星号,则象征在满意其余字段的制约条件后每月都施行该命令操作。

    逗号(,):可以用逗号隔绝的值钦点2个列表范围,例如,“一,二,伍,七,八,九”

    中杠(-):能够用整数之间的中杠表示1个平头限制,例如“二-陆”表示“贰,叁,肆,伍,6”

    正斜线(/):能够用正斜线钦定时间的距离频率,例如“0-23/二”表示每两钟头实施一遍。同时正斜线能够和星号一起利用,例如*/10,即便用在minute字段,表示每10分钟实施贰次。

 

3,cron服务

  Ubuntu系统私下认可安装cron服务。CentOS要求yum install crontabs手动安装,且服务名叫crond。

  服务操作表明:

    service cron start   //运转服务

    service cron stop   //关闭服务

    service cron restart  //重启服务

    service cron reload    //重新载入配置

    service cron status    //查看服务情状

  查看cron进度,执行命令:ps aux | grep cron

 

 

四,crontab命令详解

  一)命令格式:

    crontab [-u user] file

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

  2)命令作用:

    通过crontab 命令,大家得以在一直的间隔时间执行钦赐的系统指令或shell脚本。时间距离的单位能够是分钟、小时、日、月、周及以上的随机组合。那么些命令万分设合周期性的日记分析或数据备份等工作。

  3)命令参数:

    -u user:用来设定有些用户的crontab服务,例如,“-u ixdba”表示设定ixdba用户的crontab服务,此参数1般有root用户来运作。

    file:file是命令文件的名字,表示将file做为crontab的天职列表文件并载入crontab。假如在命令行中未有点名这几个文件,crontab命令将经受正规输入(键盘)上键入的一声令下,并将它们载入crontab。

    -e:编辑有些用户的crontab文件内容。假诺不钦命用户,则意味编辑当前用户的crontab文件。

    -l:突显有些用户的crontab文件内容,假使不点名用户,则意味展现当前用户的crontab文件内容。

    -r:从/var/spool/cron目录中删去有些用户的crontab文件,假若不钦命用户,则暗许删除当前用户的crontab文件。

    -i:在剔除用户的crontab文件时给确认提醒。

  四)应用示范:

    1编辑crontab文件内容:crontab -e

     第一遍选择应用该命令会让您采纳文本编辑器,一般接纳vim。之后也可选择select-editor更改,或许修改EDITOR环境变量,如:EDITO汉兰达=vi。

     编辑的始末格式详见“二,crontab职务格式”,保存修改后要重启服务来推行新增的天职,sudo service cron restart。

    二列出crontab文件内容:crontab -l

     经常用来备份crontab,如:crontab -l > /home/mycrontab.bak

    ③删除crontab文件:crontab -r

 

伍,crontab格式实例

  实例一:每壹分钟实施二次command

  命令:* * * * * command

 

  实例2:每时辰的第三和第二伍分钟实施

  命令:3,15 * * * * command

 

实例叁:在上午八点到11点的第一和第二陆分钟实施

命令:3,15 8-11 * * * command

 

实例肆:每隔二日的中午八点到1一点的第一和第二四分钟实施

命令:3,15 8-11 */2 * * command

 

实例五:种种星期一的中午八点到11点的第二和第一5分钟实施

命令:3,15 8-11 * * 1 command

 

实例6:每晚的21:30重启smb 

命令:30 21 *crontab定时职分,每日二个linux命令。 * * /etc/init.d/smb restart

 

实例7:每月1、10、22日的4 : 45重启smb 

命令:45 4 1,10,22 * * /etc/init.d/smb restart

 

实例8:每周六、周日的1 : 10重启smb

命令:10 1 * * 6,0 /etc/init.d/smb restart

 

实例九:每一日1捌 : 00至二3 : 00期间每隔三十分钟重启smb 

命令:0,30 18-23 * * * /etc/init.d/smb restart

 

实例10:每周五的夜幕11 : 00 pm重启smb 

命令:0 23 * * 6 /etc/init.d/smb restart

 

实例1壹:每权且辰重启smb 

命令:* */1 * * * /etc/init.d/smb restart

 

实例12:午夜1一点到清晨七点之间,每隔权且辰重启smb 

命令:

* 23-7/1 * * * /etc/init.d/smb restart

 

实例壹3:每月的四号与每一周壹到周四的1一点重启smb 

命令:0 11 4 * mon-wed /etc/init.d/smb restart

 

实例14:七月1号的4点重启smb 

命令:0 4 1 jan * /etc/init.d/smb restart

 

实例1伍:每小时执行/etc/cron.hourly目录内的本子

命令:01   *   *   *   *     root run-parts /etc/cron.hourly/

表达:假诺去掉run-parts那些参数的话,前边就能够写要运维的某部脚本名,而不是目录名了

 

1,crontab简介
crontab命令常见于Unix和Linux的操作系统之中,用于安装周期性被执行的下令。该命令从正式输入设备…

头天攻读了 at 命令是指向仅运营二次的任务,循环运维的例行性安插任务,linux系统则是由 cron (crond) 这么些系统服务来决定的。Linux 系统方面原本就有不行多的设计工作,因而这几个系统服务是暗中同意运营的。此外, 由于使用者自个儿也得以设置布置职责,所以, Linux 系统也提供了使用者控制安排任务的命令 :crontab 命令。

一 : 检查CRONTAB服务 

  1. 反省CRONTAB工具是或不是已经在主机上安装 : crontab -l
    (当然前边会介绍它确实的用途) 
  2. 检查CRONTAB服务是不是曾经运营 : service crond
    status(其实这几个命令还是能够检查其余服务,例如 service httpd status
    检测apache是不是在运营) 
  3. 安装:yum install crontabs

  crontab命令常见于Unix和Linux的操作系统之中,用于安装周期性被实施的一声令下。该命令从专业输入设备读取指令,并将其存放于“crontab”文件中,以供以往读取和推行。平日,crontab储存的指令被医生和医护人员进度激活。crond
日常在后台运维,每壹分钟检查是否有约定的作业须求履行。那类作业一般称为cron
jobs。

一、crond简介

2 : 命令功用 

因而crontab 命令,大家得以在一贯的间隔时间执行钦点的系统指令或 shell
script脚本。时间距离的单位能够是分钟、小时、日、月、周及以上的轻易组合。这些命令非凡设合周期性的日记分析或数据备份等工作。

  全数用户定义的crontab 文件都被保存在/var/spool/cron目录中,其文件名与用户名相同。

crond是linux下用来周期性的举办某种任务或等候处理有些事件的一个护理进度,与windows下的布署义务类似,当安装到位操作系统后,默许会安装此服务工具,并且会活动运转crond进度,crond进度每分钟会定期检查是或不是有要履行的职务,如果有要履行的任务,则自动执行该职责。

三 : 命令参数 

  1. -u user:用来设定有个别用户的crontab服务,例如,“-u
    ixdba”表示设定ixdba用户的crontab服务,此参数一般有root用户来运维。

  2. file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。假诺在命令行中未有点名那些文件,crontab命令将收受规范输入(键盘)上键入的指令,并将它们载入crontab。

  3. -e:编辑有些用户的crontab文件内容。要是不钦点用户,则代表编辑当前用户的crontab文件。(常用)

  4. -l:呈现有个别用户的crontab文件内容,假诺不点名用户,则代表展现当前用户的crontab文件内容。(常用)

  5. -r:从/var/spool/cron目录中除去有个别用户的crontab文件,就算不钦命用户,则默许删除当前用户的crontab文件。

  6. -i:在剔除用户的crontab文件时给确认提示。

上面是三个最常用的通令: 
crontab -l 查看当前的任务列表,其实正是crontab文件的内容 
crontab -e 打开定时职分列表文件,进行编辑

  使用控制文件如下:

Linux下的任务调度分为两类,系统职分调度和用户任务调度。

肆 : crontab文件表达 

用户所建立的crontab文件中,每一行都表示一项职分,每行的各类字段代表一项设置,它的格式共分为多少个字段,前5段是岁月设定段,第伍段是要履行的命令段,格式如下:

minute hour day month week command

其中:

  1. minute: 表示分钟,能够是从0到59时期的其余整数。
  2. hour:表示小时,能够是从0到贰3里头的此外整数。
  3. day:表示日期,能够是从一到3壹期间的其他整数。
  4. month:表示月份,能够是从一到12里边的任何整数。
  5. week:表示星期几,能够是从0到七以内的别的整数,那里的0或7意味着礼拜五。
  6. command:要实行的通令,能够是系统命令,也得以是友好编写的本子文件。

实质上用一张图就能更加好理解了 
澳门金沙国际 2

    黑名单:/etc/cron.deny  该公文中所列用户不容许利用crontab命令

系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下有2个crontab文件,那几个就是系统职责调度的布署文件。

伍 : 常用实例 

实例壹:每一分钟实施二次command 
命令: 
* * * * * command

实例二:每小时的第二和第36分钟实施 
命令: 
3,15 * * * * command

实例3:在深夜捌点到1壹点的第三和第三5分钟实施 
命令: 
3,15 8-11 * * * command

实例四:每隔二日的上午捌点到1一点的第三和第二5分钟实施 
命令: 
3,15 8-11 */2 * * command

实例伍:每一个星期一的中午八点到1一点的第2和第一陆分钟实施 
命令: 
3,15 8-11 * * 1 command

实例6:每晚的21:30重启smb 
命令: 
30 21 * * * /etc/init.d/smb restart

实例7:每月1、10、22日的4 : 45重启smb 
命令: 
45 4 1,10,22 * * /etc/init.d/smb restart

实例8:每周六、周日的1 : 10重启smb 
命令: 
10 1 * * 6,0 /etc/init.d/smb restart

实例玖:每一天1八 : 00至二三 : 00以内每隔二十八分钟重启smb 
命令: 
0,30 18-23 * * * /etc/init.d/smb restart

实例10:每星期六的夜晚1一 : 00 pm重启smb 
命令: 
0 23 * * 6 /etc/init.d/smb restart

实例1一:每壹钟头重启smb 
命令: 
* */1 * * * /etc/init.d/smb restart

实例1二:午夜11点到中午七点之内,每隔壹钟头重启smb 
命令: 
* 23-7/1 * * * /etc/init.d/smb restart

实例1三:每月的肆号与周周一到周五的1一点重启smb 
命令: 
0 11 4 * mon-wed /etc/init.d/smb restart

实例1四:十月壹号的四点重启smb 
命令: 
0 4 1 jan * /etc/init.d/smb restart

实例一伍:每30秒执行/etc/cron.hourly目录内的脚本 
命令: 
*/1 * * * * root run-parts /etc/cron.hourly 
*/1 * * * * sleep 30s ; root run-parts /etc/cron.hourly

 

转:

    白名单:/etc/cron.allow  该文件中所列用户同意采用crontab命令

/etc/crontab文件包蕴下边几行:

  Ubuntu下暗中认可未有那四个文本,一般也不用,暗中同意全数用户均可使用crontab命令。那多少个使用控制文件的格式都是每行二个用户,多少个文本都不容许空格。如若选用控制文件被涂改了,cron守护进程(crond)不必被重启。使用控制文件在历次用户拉长或删除壹项cron职分时都会被读取。无论使用控制文件中的规定怎么,root都接连能够动用cron。借使cron.allow文件存在,惟有中间列出的用户才被允许选用cron,并且 cron.deny 文件会被忽视。若是 cron.allow 文件不存在,全部在
cron.deny 中列出的用户都被取缔利用 cron。

[root@localhost ~]# cat /etc/crontab 

  用户若新增调度能够输入crontab
-e命令建立协调的crontab文件,也足以在/etc/crontab文件中增加,注意编辑权限。

SHELL=/bin/bash

 

PATH=/sbin:/bin:/usr/sbin:/usr/bin

二,crontab职分格式

MAILTO=””HOME=/

  crontab文件中,每1行都意味着1项职责,每行的各类字段代表一项设置,它的格式共分为八个字段,前5段是时刻设定段,第四段是要实行的命令段,格式如下:

# run-parts

  minute   hour   day   month   week   command

51 * * * * root run-parts /etc/cron.hourly

  其中:

24 7 * * * root run-parts /etc/cron.daily

minute: 表示分钟,能够是从0到5九以内的其它整数。

22 4 * * 0 root run-parts /etc/cron.weekly

hour:表示时辰,能够是从0到②③中间的其余整数。

42 4 1 * * root run-parts /etc/cron.monthly

day:表示日期,能够是从一到3壹里头的任何整数。

[root@localhost ~]#

month:表示月份,能够是从1到1二时期的其他整数。

前4行是用来布局crond职分局营的环境变量,第三行SHELL变量钦点了系统要利用哪个shell,那里是bash,第二行PATH变量钦点了系统执行命令的路线,第二行MAILTO变量钦命了crond的任务履行消息将透过电子邮件发送给root用户,如若MAILTO变量的值为空,则代表不发送职分履行音信给用户,第陆行的HOME变量钦点了在执行命令只怕脚本时使用的主目录。第伍至玖行表示的意义将在下个小节详细讲述。这里不在多说。

week:表示星期几,能够是从0到柒里边的其余整数,这里的0或七意味星期天。

用户义务调度:用户定期要实践的干活,比如用户数据备份、定时邮件提示等。用户能够利用 crontab 工具来定制本人的陈设职责。全体用户定义的crontab 文件都被保留在 /var/spool/cron目录中。其文件名与用户名相同。

command:要推行的下令,可以是系统命令,也足以是投机编排的脚本文件。

使用者权限文件:

澳门金沙国际 3

文件:

  在上述各种字段中,还足以接纳以下特殊字符:

/etc/cron.deny

    星号(*):代表享有希望的值,例如month字段要是是星号,则意味着在满意此外字段的制裁条件后每月都推行该命令操作。

说明:

    逗号(,):能够用逗号隔绝的值钦赐2个列表范围,例如,“1,二,五,柒,八,9”

该公文中所列用户不允许利用crontab命令

    中杠(-):能够用整数之间的中杠表示一个平头限量,例如“二-6”表示“二,叁,四,5,陆”

文件:

    正斜线(/):能够用正斜线钦赐时间的区间频率,例如“0-23/2”表示每两时辰实施二回。同时正斜线能够和星号1起使用,例如*/拾,假如用在minute字段,表示每10分钟实施一回。

/etc/cron.allow

 

说明:

3,cron服务

该公文中所列用户同意使用crontab命令

  Ubuntu系统暗中认可安装cron服务。CentOS要求yum install crontabs手动安装,且服务名字为crond。

文件:

  服务操作表达:

/var/spool/cron/

    service cron start   //运维服务

说明:

    service cron stop   //关闭服务

抱有用户crontab文件存放的目录,以用户名命名

    service cron restart  //重启服务

crontab文件的含义:

    service cron reload    //重新载入配置

用户所树立的crontab文件中,每1行都意味着壹项职务,每行的每一个字段代表一项设置,它的格式共分为五个字段,前5段是时刻设定段,第伍段是要举行的命令段,格式如下:

    service cron status    //查看服务情形

minute   hour   day   month   week   command

  查看cron进度,执行命令:ps aux | grep cron

其中:

 

minute: 表示分钟,能够是从0到5九之间的其他整数。

 

hour:表示小时,能够是从0到二三里面包车型客车任何整数。

4,crontab命令详解

day:表示日期,能够是从一到3一之间的别的整数。

  壹)命令格式:

month:表示月份,能够是从壹到1贰以内的别样整数。

    crontab [-u user] file

week:表示星期几,能够是从0到柒之间的别的整数,那里的0或七代表星期一。

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

command:要实施的指令,可以是系统命令,也足以是温馨编排的本子文件。

  贰)命令作用:

澳门金沙国际 4 

    通过crontab 命令,大家得以在定位的间隔时间执行钦命的系统指令或shell脚本。时间间隔的单位能够是分钟、小时、日、月、周及以上的即兴组合。那些命令十分设合周期性的日记分析或数据备份等工作。

在上述各类字段中,还足以行使以下特殊字符:

  三)命令参数:

星号(*):代表全体一点都不小希望的值,例如month字段要是是星号,则象征在满意其余字段的掣肘条件后每月都履行该命令操作。

    -u user:用来设定有个别用户的crontab服务,例如,“-u ixdba”表示设定ixdba用户的crontab服务,此参数一般有root用户来运作。

逗号(,):能够用逗号隔绝的值钦点多个列表范围,例如,“一,二,五,七,八,九”

    file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。即便在指令行中未有点名这么些文件,crontab命令将承受专业输入(键盘)上键入的命令,并将它们载入crontab。

中杠(-):能够用整数之间的中杠表示多少个整数范围,例如“二-6”表示“二,三,四,5,6”

    -e:编辑有个别用户的crontab文件内容。如若不钦点用户,则象征编辑当前用户的crontab文件。

正斜线(/):能够用正斜线钦点时间的间距频率,例如“0-23/二”表示每两钟头实施叁遍。同时正斜线能够和星号1起行使,例如*/十,如果用在minute字段,表示每10秒钟实施1次。

    -l:突显某些用户的crontab文件内容,要是不点名用户,则象征展现当前用户的crontab文件内容。

二、crond服务

    -r:从/var/spool/cron目录中剔除有个别用户的crontab文件,借使不钦定用户,则默许删除当前用户的crontab文件。

安装crontab:

    -i:在剔除用户的crontab文件时给确认提醒。

yum install crontabs

  4)应用示范:

劳务操作表达:

    壹编纂crontab文件内容:crontab
-e

/sbin/service crond start //运转服务

     首次使用使用该命令会让你采纳文本编辑器,1般采取vim。之后也可选拔select-editor更改,大概修改EDITO库罗德环境变量,如:EDITO汉兰达=vi。

/sbin/service crond stop //关闭服务

     编辑的剧情格式详见“2,crontab职责格式”,保存修改后要重启服务来施行新增的职责,sudo service cron restart。

/sbin/service crond restart //重启服务

    二列出crontab文件内容:crontab -l

/sbin/service crond reload //重新载入配置

     经常用来备份crontab,如:crontab -l > /home/mycrontab.bak

翻开crontab服务景况:

    ③删除crontab文件:crontab -r

service crond status

 

手动运转crontab服务:

5,crontab格式实例

service crond start

  实例一:每一分钟实施3次command

翻开crontab服务是还是不是已设置为开机运转,执行命令:

  命令:* * * * * command

ntsysv

 

加入开机自动运维:

  实例2:每时辰的第一和第贰4分钟实施

chkconfig –level 35 crond on

  命令:3,15 * * * * command

三、crontab命令详解

 

1.命令格式:

实例三:在早上捌点到1壹点的第一和第三四分钟实施

crontab [-u user] file

命令:3,15 8-11 * * * command

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

 

二.命令作用:

实例4:每隔两日的早晨八点到11点的第一和第二四分钟实施

通过crontab 命令,大家能够在固定的间隔时间执行钦命的连串指令或 shell script脚本。时间距离的单位能够是分钟、时辰、日、月、周及以上的专擅己组建合。这一个命令万分设合周期性的日志分析或数据备份等工作。

命令:3,15 8-11 */2 * * command

3.命令参数:

 

-u user:用来设定有个别用户的crontab服务,例如,“-u ixdba”表示设定ixdba用户的crontab服务,此参数1般有root用户来运转。

实例五:每一个星期壹的早晨捌点到1壹点的第3和第二四分钟实施

file:file是命令文件的名字,表示将file做为crontab的天职列表文件并载入crontab。借使在命令行中未有点名那一个文件,crontab命令将经受正规输入(键盘)上键入的通令,并将它们载入crontab。

命令:3,15 8-11 * * 1 command

-e:编辑有些用户的crontab文件内容。若是不钦定用户,则代表编辑当前用户的crontab文件。

 

-l:展现有些用户的crontab文件内容,假使不钦定用户,则代表呈现当前用户的crontab文件内容。

实例6:每晚的21:30重启smb 

-r:从/var/spool/cron目录中剔除有个别用户的crontab文件,假诺不点名用户,则私下认可删除当前用户的crontab文件。

命令:30 21 * * * /etc/init.d/smb restart

-i:在剔除用户的crontab文件时给确认提示。

 

4.常用艺术:

实例7:每月1、10、22日的4 : 45重启smb 

一). 创立三个新的crontab文件

命令:45 4 1,10,22 * * /etc/init.d/smb restart

在思虑向cron进度提交一个crontab文件在此以前,首先要做的一件事情正是设置条件变量EDITO奥迪Q5。cron进程依照它来明确使用哪个编辑器编辑crontab文件。九 玖 %的UNIX和LINUX用户都选取vi,假如您也是这般,那么你就编写$ HOME目录下的. profile文件,在中间参预这么1行:

 

EDITOR=vi; export EDITOR

实例8:每周六、周日的1 : 10重启smb

下一场保留并脱离。不要紧成立1个名称为<user> cron的公文,当中<user>是用户名,例如, davecron。在该公文中加入如下的内容。

命令:10 1 * * 6,0 /etc/init.d/smb restart

     
# (put your own initials here)echo the date to the console every

 

     
# 15minutes between 6pm and 6am

实例玖:每一日18 : 00至二三 : 00里面每隔二十六分钟重启smb 

     
0,15,30,45 18-06 * * * /bin/echo ‘date’ > /dev/console

命令:0,30 18-23 * * * /etc/init.d/smb restart

    保存并脱离。确信前边多少个域用空格分隔。

 

在上头的例子中,系统将每隔一 4分钟向控制台出口1遍当前时间。假使系统崩溃或挂起,从最后所展现的流年就足以1眼看出系统是什么样时间甘休工作的。在多少系统中,用tty壹来表示控制台,能够依据真实情形对地点的例证实行对应的改动。为了提交你碰巧创建的crontab文件,可以把那个新创立的公文作为cron命令的参数:

实例十:每星期日的夜幕11 : 00 pm重启smb 

    
$ crontab davecron

命令:0 23 * * 6 /etc/init.d/smb restart

当今该文件已经付诸给cron进程,它将每隔一 5分钟运营3次。

 

并且,新创立文件的1个副本已经被放在/var/spool/cron目录中,文件名正是用户名(即dave)。

实例1一:每一时半刻辰重启smb 

2). 列出crontab文件

命令:* */1 * * * /etc/init.d/smb restart

   为了列出crontab文件,能够用:

 

    
$ crontab -l

实例1二:深夜1一点到深夜柒点以内,每隔一时辰重启smb 

    
0,15,30,45,18-06 * * * /bin/echo `date` > dev/tty1

命令:

您将晤面到和上边类似的故事情节。能够利用这种艺术在$ H O M E目录中对crontab文件做一备份:

* 23-7/1 * * * /etc/init.d/smb restart

    
$ crontab -l > $HOME/mycron

 

    那样,一旦不小心误删了crontab文件,能够用上1节所描述的办法火速苏醒。

实例1三:每月的四号与周周一到周三的1一点重启smb 

3). 编辑crontab文件

命令:0 11 4 * mon-wed /etc/init.d/smb restart

   假使期望丰硕、删除或编辑crontab文件中的条目,而E D I TO LAND环境变量又设置为v i,那么就足以用v i来编排crontab文件,相应的授命为:

 

    
$ crontab -e

实例1肆:112月1号的四点重启smb 

能够像使用v i编辑别的任何文件这样修改crontab文件并脱离。假使改动了几许条款或添加了新的条文,那么在保存该文件时, c r o n会对其进展必要的完整性检查。假如内部的某些域出现了超越允许范围的值,它会提示您。

命令:0 4 1 jan * /etc/init.d/smb restart

我们在编写制定crontab文件时,没准会参预新的条目。例如,参加上面包车型客车一条:

 

   

实例一五:每小时执行/etc/cron.hourly目录内的脚本

# DT:delete core files,at 3.30am on 1,7,14,21,26,26 days of each month

命令:01   *   *   *   *     root run-parts /etc/cron.hourly/

    
30 3 1,7,14,21,26 * * /bin/find -name “core’ -exec rm {} \;

证实:借使去掉run-parts这些参数的话,后边就能够写要运转的有个别脚本名,而不是目录名了

最近封存并退出。最佳在crontab文件的每贰个条款之上插足一条注释,那样就足以领会它的成效、运营时刻,更为主要的是,知道那是哪位用户的功课。

 

方今让我们应用前边讲过的crontab -l命令列出它的百分百新闻:

   

$ crontab -l 

   

# (crondave installed on Tue May 4 13:07:43 1999)

   

# DT:ech the date to the console every 30 minites

  

0,15,30,45 18-06 * * * /bin/echo `date` > /dev/tty1

   

# DT:delete core files,at 3.30am on 1,7,14,21,26,26 days of each month

   

30 3 1,7,14,21,26 * * /bin/find -name “core’ -exec rm {} \;

4). 删除crontab文件

要删除crontab文件,可以用:

   

$ crontab -r

五). 复苏丢失的crontab文件

万一非常的大心误删了crontab文件,假诺你在大团结的$ H O M E目录下还有四个备份,那么能够将其拷贝到/var/spool/cron/<username>,个中<username>是用户名。若是是因为权力难题不可能完毕拷贝,能够用:

    
$ crontab <filename>

    个中,<filename>是你在$ H O M E目录中副本的文书名。

自我建议你在和谐的$ H O M E目录中保留1个该公文的副本。笔者就有过类似的经历,有多次误删了crontab文件(因为r键紧挨在e键的右手)。这正是为啥有个别系统文书档案建议不要直接编辑crontab文件,而是编辑该公文的2个副本,然后再次提交新的文件。

有些crontab的变体有些怪异,所以在动用crontab命令时要那多少个小心。如若遗漏了任何取舍,crontab大概会打开贰个空文件,也许看起来像是个空文件。那时敲delete键退出,不要按<Ctrl-D>,不然你将遗失crontab文件。

5.运用实例

实例1:每一分钟实施3遍command

命令:

* * * * * command

 

实例贰:每小时的第二和第二陆秒钟实施

命令:

3,15 * * * * command

 

实例3:在上午捌点到11点的第一和第二四分钟实施

命令:

3,15 8-11 * * * command

 

实例肆:每隔两日的中午捌点到1一点的第3和第三陆分钟实施

命令:

3,15 8-11 */2 * * command

 

实例5:各种星期1的深夜八点到1一点的第二和第36分钟实施

命令:

3,15 8-11 * * 1 command

 

实例6:每晚的21:30重启smb 

命令:

30 21 * * * /etc/init.d/smb restart

 

实例7:每月1、10、22日的4 : 45重启smb 

命令:

45 4 1,10,22 * * /etc/init.d/smb restart

 

实例8:每周六、周日的1 : 10重启smb

命令:

10 1 * * 6,0 /etc/init.d/smb restart

 

实例九:每一天18 : 00至二叁 : 00中间每隔2陆分钟重启smb 

命令:

0,30 18-23 * * * /etc/init.d/smb restart

 

实例10:每礼拜四的早上1一 : 00 pm重启smb 

命令:

0 23 * * 6 /etc/init.d/smb restart

 

实例1一:每一钟头重启smb 

命令:

* */1 * * * /etc/init.d/smb restart

 

实例1二:中午1一点到深夜7点里边,每隔一钟头重启smb 

命令:

* 23-7/1 * * * /etc/init.d/smb restart

 

实例壹三:每月的四号与每一周1到星期天的1一点重启smb 

命令:

0 11 4 * mon-wed /etc/init.d/smb restart

 

实例14:二月一号的肆点重启smb 

命令:

0 4 1 jan * /etc/init.d/smb restart

实例1五:每时辰执行/etc/cron.hourly目录内的本子

命令:

01   *   *   *   *     root run-parts /etc/cron.hourly

说明:

run-parts那几个参数了,如若去掉这几个参数的话,前面就足以写要运营的某些脚本名,而不是目录名了

四、使用注意事项

一. 注意环境变量难点

偶尔我们创制了2个crontab,但是这几个职分却手足无措自行执行,而手动执行那么些职务却未曾难点,那种情形相似是由于在crontab文件中未有布署环境变量引起的。

在crontab文件中定义两个调度职责时,需求尤其注意的二个题材便是环境变量的装置,因为我们手动执行有些任务时,是在脚下shell环境下进展的,程序当然能找到环境变量,而系统自动执行任务调度时,是不会加载任何环境变量的,由此,就供给在crontab文件中钦命职分运维所需的拥有环境变量,这样,系统推行职务调度时就不曾难点了。

绝不假定cron知道所急需的超常规定条款件,它实在并不知道。所以你要保管在shelll脚本中提供具有要求的路径和环境变量,除了部分活动安装的全局变量。所以注意如下三点:

1)脚本中关系文件路径时写全局路径;

二)脚本执行要用到java或任何环境变量时,通过source命令引进环境变量,如:

cat start_澳门金沙国际,cbp.sh

#!/bin/sh

source /etc/profile

export RUN_CONF=/home/d139/conf/platform/cbp/cbp_jboss.conf

/usr/local/jboss-4.0.5/bin/run.sh -c mev &

三)当手动执行脚本OK,不过crontab死活不履行时。那时必须敢于疑心是环境变量惹的祸,并得以尝尝在crontab中平素引进环境变量化解难题。如:

0 * * * * . /etc/profile;/bin/sh /var/www/java/audit_no_count/bin/restart_audit.sh

二. 瞩目清理系统用户的邮件日志

每条任务调度执行完结,系统都会将职分输出新闻透过电子邮件的款式发送给当前系统用户,这样有加无已,日志音信会卓殊大,大概会影响系统的符合规律化运维,由此,将每条职分拓展重定向处理非凡关键。

譬如,能够在crontab文件中安装如下方式,忽略日志输出:

0 */3 * * * /usr/local/apache2/apachectl restart >/dev/null 2>&1

“/dev/null 2>&一”表示先将正式输出重定向到/dev/null,然后将正式错误重定向到正式输出,由于专业输出已经重定向到了/dev/null,由此正式错误也会重定向到/dev/null,那样日志输出难点就缓解了。

三. 系统级职分调度与用户级义务调度

系统级义务调度首要形成系统的部分护卫操作,用户级职责调度主要完结用户自定义的有些职分,能够将用户级义务调度放到系统级任务调度来成功(不建议如此做),可是转头却非常,root用户的职务调度操作能够通过“crontab –uroot –e”来设置,也得以将调度职责一直写入/etc/crontab文件,须求小心的是,若是要定义一个定时重启系统的职务,就亟须将职分放到/etc/crontab文件,就算在root用户下创制二个定时重启系统的职责也是不行的。

四. 别的注意事项

新成立的cron job,不会霎时执行,至少要过贰分钟才实施。假若重启cron则即刻执行。

当crontab突然失灵时,能够品味/etc/init.d/crond restart消除难点。或许查看日志看有个别job有未有实践/报错tail -f /var/log/cron。

千万别乱运维crontab -r。它从Crontab目录(/var/spool/cron)中删去用户的Crontab文件。删除了该用户的兼具crontab都没了。

在crontab中%是有新鲜含义的,表示换行的意趣。假使要用的话不可能不举办转义\%,如常常用的date ‘+%Y%m%d’在crontab里是不会进行的,应该换到date ‘+\%Y\%m\%d’。

相关文章