crontab定时运行命令.docx
- 文档编号:10484220
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:26
- 大小:26.60KB
crontab定时运行命令.docx
《crontab定时运行命令.docx》由会员分享,可在线阅读,更多相关《crontab定时运行命令.docx(26页珍藏版)》请在冰点文库上搜索。
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都是系统
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- crontab 定时 运行 命令