crontab定时运行命令解析.docx

上传人:b****7 文档编号:16083692 上传时间:2023-07-10 格式:DOCX 页数:26 大小:25.81KB
下载 相关 举报
crontab定时运行命令解析.docx_第1页
第1页 / 共26页
crontab定时运行命令解析.docx_第2页
第2页 / 共26页
crontab定时运行命令解析.docx_第3页
第3页 / 共26页
crontab定时运行命令解析.docx_第4页
第4页 / 共26页
crontab定时运行命令解析.docx_第5页
第5页 / 共26页
crontab定时运行命令解析.docx_第6页
第6页 / 共26页
crontab定时运行命令解析.docx_第7页
第7页 / 共26页
crontab定时运行命令解析.docx_第8页
第8页 / 共26页
crontab定时运行命令解析.docx_第9页
第9页 / 共26页
crontab定时运行命令解析.docx_第10页
第10页 / 共26页
crontab定时运行命令解析.docx_第11页
第11页 / 共26页
crontab定时运行命令解析.docx_第12页
第12页 / 共26页
crontab定时运行命令解析.docx_第13页
第13页 / 共26页
crontab定时运行命令解析.docx_第14页
第14页 / 共26页
crontab定时运行命令解析.docx_第15页
第15页 / 共26页
crontab定时运行命令解析.docx_第16页
第16页 / 共26页
crontab定时运行命令解析.docx_第17页
第17页 / 共26页
crontab定时运行命令解析.docx_第18页
第18页 / 共26页
crontab定时运行命令解析.docx_第19页
第19页 / 共26页
crontab定时运行命令解析.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

crontab定时运行命令解析.docx

《crontab定时运行命令解析.docx》由会员分享,可在线阅读,更多相关《crontab定时运行命令解析.docx(26页珍藏版)》请在冰点文库上搜索。

crontab定时运行命令解析.docx

crontab定时运行命令解析

linux定时运行程序转

crontab,无论root还是user都可以用。

基本用法:

 1.crontab-l

    列出当前的crontab任务

 2.crontab-d

    删除当前的crontab任务

 3.crontab-e(solaris5.8上面是crontab-r)

    编辑一个crontab任务,ctrl_D结束

 4.crontabfilename

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

crontabfile的格式:

   crontab文件中的行由6个字段组成,不同字段间用空格或tab键分隔。

前5个字段指定命令要运行的时间

      分钟(0-59)

      小时(0-23)

      日期(1-31)

      月份(1-12)

      星期几(0-6,其中0代表星期日)

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

例子:

     #MINHOURDAYMONTHDAYOFWEEKCOMMAND

     #每天早上6点10分

     106***date

     #每两个小时

     0*/2***date   (solaris5.8似乎不支持此种写法)

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

     023-7/2,8***date

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

     0114*mon-weddate

     #1月份日早上4点

     041jan*date

  [例7]

  #crontab-l#列出用户目前的crontab。

  106***date

  0*/2***date

  023-7/2,8***date

  #

  在crontab文件中如何输入需要执行的命令和时间。

该文件中每行都包括六个域,其中前五个域是指定命令被执行的时间,最后一个域是要被执行的命令。

每个域之间使用空格或者制表符分隔。

格式如下:

  minutehourday-of-monthmonth-of-yearday-of-weekcommands

  第一项是分钟,第二项是小时,第三项是一个月的第几天,第四项是一年的第几个月,第五项是一周的星期几,第六项是要执行的命令。

这些项都不能为空,必须填入。

如果用户不需要指定其中的几项,那么可以使用*代替。

因为*是统配符,可以代替任何字符,所以就可以认为是任何时间,也就是该项被忽略了。

在表4-1中给出了每项的合法范围。

 表4-1 指定时间的合法范围

  时间

  合法值

 minute

  00-59

  hour

  00-23,其中00点就是晚上12点

  day-of-month

  01-31

  month-of-year

  01-12

  day-of-week

  0-6,其中周日是0

  这样用户就可以往crontab文件中写入无限多的行以完成无限多的命令。

命令域中可以写入所有可以在命令行写入的命令和符号,其他所有时间域都支持列举,也就是域中可以写入很多的时间值,只要满足这些时间值中的任何一个都执行命令,每两个时间值中间使用逗号分隔。

 除了数字还有几个个特殊的符号就是"*"、"/"和"-"、",",*代表所有的取值范围内的数字,"/"代表每的意思,"*/5"表示每5个单位,"-"代表从某个数字到某个数字,","分开几个离散的数字。

几个例子:

每天早上6点

06***echo"Goodmorning.">>/tmp/test.txt//注意单纯echo,从屏幕上看不到任何输出,因为cron把任何输出都email到root的信箱了。

每两个小时

0*/2***echo"Haveabreaknow.">>/tmp/test.txt

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

023-7/2,8***echo"Haveagooddream:

)">>/tmp/test.txt

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

0114*1-3commandline

1月1日早上4点

0411*commandline

SHELL=/bin/bash

PATH=/sbin:

/bin:

/usr/sbin:

/usr/bin

MAILTO=root//如果出现错误,或者有数据输出,数据作为邮件发给这个帐号

HOME=///使用者运行的路径,这里是根目录

#run-parts

01****rootrun-parts/etc/cron.hourly//每小时执行/etc/cron.hourly内的脚本

024***rootrun-parts/etc/cron.daily//每天执行/etc/cron.daily内的脚本

224**0rootrun-parts/etc/cron.weekly//每星期执行/etc/cron.weekly内的脚本

4241**rootrun-parts/etc/cron.monthly//每月去执行/etc/cron.monthly内的脚本

大家注意"run-parts"这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名了。

 

[例8]

  5,15,25,35,45,5516,17,18***command

  这就是表示任意天任意月,其实就是每天的下午4点、5点、6点的5min、15min、25min、35min、45min、55min时执行命令。

  [例9]在每周一,三,五的下午3:

00系统进入维护状态,重新启动系统。

那么在crontab文件中就应该写入如下字段:

  0015**1,3,5shutdown-r+5

  然后将该文件存盘为foxy.cron,再键入crontabfoxy.cron安装该文件。

  [例10]每小时的10分,40分执行用户目录下的innd/bbslin这个指令:

  10,40****innd/bbslink

  [例11]每小时的1分执行用户目录下的bin/account这个指令:

  1****bin/account

  [例12]每天早晨三点二十分执行用户目录下如下所示的两个指令(每个指令以;分隔):

  203***(/bin/rm-fexpire.lslogins.bad;bin/expire$#@62;expire.1st)

  [例13]每年的一月和四月,4号到9号的3点12分和3点55分执行/bin/rm-fexpire.1st这个指令,并把结果添加在mm.txt这个文件之后(mm.txt文件位于用户自己的目录位置)。

  12,5534-91,4*/bin/rm-fexpire.1st$#@62;$#@62;mm.txt

  [例14]我们来看一个超级用户的crontab文件:

  #Runthe‘atrun’programeveryminutes

  #Thisrunsanythingthat’sduetorunfrom‘at’.Seeman‘at’or‘atrun’.

  0,5,10,15,20,25,30,35,40,45,50,55****/usr/lib/atrun

  407***updatedb

  8,10,22,30,39,46,54,58****/bin/sync

  进程的挂起及恢复命令bg、fg

  作业控制允许将进程挂起并可以在需要时恢复进程的运行,被挂起的作业恢复后将从中止处开始继续运行。

只要在键盘上按〈ctrl+z$#@62;,即可挂起当前的前台作业。

  [例15]

  $cattext.file

  〈ctrl+z$#@62;

  [1]+stoppedcattext.file

  $jobs

  [1]+stoppedcattext.file

  在键盘上按〈ctrl+z$#@62;后,将挂起当前执行的命令cat。

使用jobs命令可以显示shell的作业清单,包括具体的作业、作业号以及作业当前所处的状态。

  恢复进程执行时,有两种选择:

用fg命令将挂起的作业放回到前台执行;用bg命令将挂起的作业放到后台执行。

  [例16]用户正在使用Emacs,突然需要查看系统进程情况。

就首先使用〈Ctrl+z$#@62;组合键将Emacs进程挂起,然后使用bg命令将其在后台启动,这样就得到了前台的操作控制权,接着键入“ps?

x”查看进程情况。

查看完毕后,使用fg命令将Emacs带回前台运行即可。

其命令格式为:

  〈Ctrl+z$#@62;

  $bgemacs

  $ps?

x

  $fgemacs

  默认情况下,fg和bg命令对最近停止的作业进行操作。

如果希望恢复其他作业的运行,可以在命令中指定要恢复作业的作业号来恢复该作业。

例如:

  $fg1

  cattext.file

文件

含义

/etc/cron.deny

该文件中所列的用户不允许使用Crontab命令

/etc/cron.allow

该文件中所列的用户允许使用Crontab命令

/var/spool/cron/

是所有用户的crontab文件

/var/spool/cron/crontabs

/var/spool/cron/crontabs

Crontab命令的格式为:

crontab–l|-r|-e|-i[username],其参数含义如表一:

参数名称

含义

示例

-l

显示用户的Crontab文件的内容

crontabl–l

-i

删除用户的Crontab文件前给提示

crontabl-ri

-r

从Crontab目录中删除用户的Crontab文件

crontabl-r

-e

编辑用户的Crontab文件

crontabl-e

用户所建立的Crontab文件存于/var/spool/cron中,其文件名与用户名一致。

它的格式共分为六段,前五段为时间设定段,第六段为所要执行的命令段,

格式如下:

*****

其时间段的含义如表二:

含义

取值范围

第一段

代表分钟

0—59

第二段

代表小时

0—23

第三段

代表日期

1—31

第四段

代表月份

1—12

第五段

代表星期几,0代表星期日

0—6

例:

如果用户的Crontab文件的内容是:

2919***echoitsdinnertime,则系统每天的19:

29显示‘itsdinnertime’

示例(创建一个cron全过程,每分钟都会在test.txt里输入当前时间):

1.    以普通用户登录linux系统(我用的是CentOS4.1)

2.    $crontab–e

说明:

系统默认的编辑器是VIM,如果不是请加上以下shell:

     $EDITOR=vi

     $exportEDITOR

3.    输入”*/1****date>>$HOME/test.txt”,saveandexitVIM

4.    $suroot

5.    $cd/etc/init.d

6.    ./crondrestart

下面看看看几个具体的例子:

●0*/2***/sbin/servicehttpdrestart 意思是每两个小时重启一次apache

●507***/sbin/servicesshdstart 意思是每天7:

50开启ssh服务

●5022***/sbin/servicesshdstop 意思是每天22:

50关闭ssh服务

●001,15**fsck/home 每月1号和15号检查/home磁盘

●1****/home/bruce/backup 每小时的第一分执行/home/bruce/backup这个文件

●0003**1-5find/home"*.xxx"-mtime+4-execrm{}\; 每周一至周五3点钟,在目录/home中,查找文件名为*.xxx的文件,并删除4天前的文件。

●306*/10**ls 意思是每月的1、11、21、31日是的6:

30执行一次ls命令

Crontab是UNIX系统下的定时任务触发器,其使用者的权限记载在下列两个文件中:

文件

含义

/etc/cron.deny

该文件中所列的用户不允许使用Crontab命令

/etc/cron.allow

该文件中所列的用户允许使用Crontab命令

/var/spool/cron/

是所有用户的crontab文件

/var/spool/cron/crontabs

/var/spool/cron/crontabs

Crontab命令的格式为:

crontab–l|-r|-e|-i[username],其参数含义如表一:

参数名称

含义

示例

-l

显示用户的Crontab文件的内容

crontabl–l

-i

删除用户的Crontab文件前给提示

crontabl-ri

-r

从Crontab目录中删除用户的Crontab文件

crontabl-r

-e

编辑用户的Crontab文件

crontabl-e

用户所建立的Crontab文件存于/var/spool/cron中,其文件名与用户名一致。

它的格式共分为六段,前五段为时间设定段,第六段为所要执行的命令段,

格式如下:

*****

其时间段的含义如表二:

含义

取值范围

第一段

代表分钟

0—59

第二段

代表小时

0—23

第三段

代表日期

1—31

第四段

代表月份

1—12

第五段

代表星期几,0代表星期日

0—6

例:

如果用户的Crontab文件的内容是:

2919***echoitsdinnertime,则系统每天的19:

29显示‘itsdinnertime’

示例(创建一个cron全过程,每分钟都会在test.txt里输入当前时间):

1.    以普通用户登录linux系统(我用的是CentOS4.1)

2.    $crontab–e

说明:

系统默认的编辑器是VIM,如果不是请加上以下shell:

     $EDITOR=vi

     $exportEDITOR

3.    输入”*/1****date>>$HOME/test.txt”,saveandexitVIM

4.    $suroot

5.    $cd/etc/init.d

6.    ./crondrestart

下面看看看几个具体的例子:

●0*/2***/sbin/servicehttpdrestart 意思是每两个小时重启一次apache

●507***/sbin/servicesshdstart 意思是每天7:

50开启ssh服务

●5022***/sbin/servicesshdstop 意思是每天22:

50关闭ssh服务

●001,15**fsck/home 每月1号和15号检查/home磁盘

●1****/home/bruce/backup 每小时的第一分执行/home/bruce/backup这个文件

●0003**1-5find/home"*.xxx"-mtime+4-execrm{}\; 每周一至周五3点钟,在目录/home中,查找文件名为*.xxx的文件,并删除4天前的文件。

●306*/10**ls 意思是每月的1、11、21、31日是的6:

30执行一次ls命令

Crontab是UNIX系统下的定时任务触发器,其使用者的权限记载在下列两个文件中:

文件

含义

/etc/cron.deny

该文件中所列的用户不允许使用Crontab命令

/etc/cron.allow

该文件中所列的用户允许使用Crontab命令

/var/spool/cron/

是所有用户的crontab文件

/var/spool/cron/crontabs

/var/spool/cron/crontabs

Crontab命令的格式为:

crontab–l|-r|-e|-i[username],其参数含义如表一:

参数名称

含义

示例

-l

显示用户的Crontab文件的内容

crontabl–l

-i

删除用户的Crontab文件前给提示

crontabl-ri

-r

从Crontab目录中删除用户的Crontab文件

crontabl-r

-e

编辑用户的Crontab文件

crontabl-e

用户所建立的Crontab文件存于/var/spool/cron中,其文件名与用户名一致。

它的格式共分为六段,前五段为时间设定段,第六段为所要执行的命令段,

格式如下:

*****

其时间段的含义如表二:

含义

取值范围

第一段

代表分钟

0—59

第二段

代表小时

0—23

第三段

代表日期

1—31

第四段

代表月份

1—12

第五段

代表星期几,0代表星期日

0—6

例:

如果用户的Crontab文件的内容是:

2919***echoitsdinnertime,则系统每天的19:

29显示‘itsdinnertime’

示例(创建一个cron全过程,每分钟都会在test.txt里输入当前时间):

1.    以普通用户登录linux系统(我用的是CentOS4.1)

2.    $crontab–e

说明:

系统默认的编辑器是VIM,如果不是请加上以下shell:

     $EDITOR=vi

     $exportEDITOR

3.    输入”*/1****date>>$HOME/test.txt”,saveandexitVIM

4.    $suroot

5.    $cd/etc/init.d

6.    ./crondrestart

下面看看看几个具体的例子:

●0*/2***/sbin/servicehttpdrestart 意思是每两个小时重启一次apache

●507***/sbin/servicesshdstart 意思是每天7:

50开启ssh服务

●5022***/sbin/servicesshdstop 意思是每天22:

50关闭ssh服务

●001,15**fsck/home 每月1号和15号检查/home磁盘

●1****/home/bruce/backup 每小时的第一分执行/home/bruce/backup这个文件

●0003**1-5find/home"*.xxx"-mtime+4-execrm{}\; 每周一至周五3点钟,在目录/home中,查找文件名为*.xxx的文件,并删除4天前的文件。

●306*/10**ls 意思是每月的1、11、21、31日是的6:

30执行一次ls命令

 

linux下统计文件数目

MySQL服务器安装完之后如何调节性能

LINUXcrontab定期任务

Publishedbyadmin,at10:

27,2007,underLinux系统

Jun

14

作者:

北南南北

来自:

LinuxSir.Org

摘要:

Linux操作系统中,计划任务通常由cron来承担,了解或掌握cron,能为我们管理服务器带来更多的便利,也能省却更多的时间。

本文也举了一些简单明了的例子,为了让新手上路方便;

 

1、计划任务概说;

2、cron;

2.1cron的安装和启动;

2.1.1在Redhat或Fedora等RPM包管理的系统的安装;

2.1.2在Slackware系统中的安装;

2.1.3cron的开启、停止、重新启动方法;

2.2cron配置文件;

2.2.1全局性配置文件;

2.2.2cron配置计划任务的书写格式

2.2.3关于同一时间,同时执行多个任务的定义方法;

2.2.4对于用户自身的cron配置文件的说明;

3、计划任务的应用范围;

4、关于本文;

5、后记;

6、参考文档;

7、相关文档;

 

++++++++++++++++++++++++++++++++++++++

正文

++++++++++++++++++++++++++++++++++++++

 

1、计划任务概说;

 

计划任务,是任务在约定的时间执行已经计划好的工作,这是表面的意思。

在Linux中,我们经常用到crond服务器来完成这项工作。

cron服务器可以根据配置文件约定的时间来执行特定的作务。

比如我们可以在配置文件中约定每天早上4点,对httpd服务器重新启动,这就是一个计划任务;

下面我们先来说说cron;

 

2、cron;

 

在Linux系统中,计划任务一般是由cron承担,我们可以把cron设置为开机时自动启动。

cron启动后,它会读取它的所有配置文件(全局性配置文件/etc/crontab,以及每个用户的计划任务配置文件),然后cron会根据命令和执行时间来按时来调用度工作任务。

 

2.1cron的安装和启动;

 

在一般情况下,cron都是系

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 哲学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2