CentOS教程之Centos的企图义务crontab 和 tomcat主动重启
小知识:CentOS对组件的修改主要是去除上游供应商的商标及美工图。义务调剂的crond常驻下令
crond是linux用来按期实行步伐的下令。当装置完成操纵体系以后,默许便会启动此义务调剂下令。crond下令每分锺会按期反省是不是有要实行的事情,假如有要实行的事情便会主动实行该事情。而linux义务调剂的事情次要分为以下两类:
1、体系实行的事情:体系周期性所要实行的事情,如备份体系数据、清算缓存
2、团体实行的事情:某个用户按期要做的事情,比方每隔10分钟反省邮件办事器是不是有新信,这些事情可由每一个用户自行设置。
1、义务调剂设置文件的写法
其格局以下:
MinuteHourDayMonthDayofweekcommand
分钟小时天月天每礼拜下令
每一个字段代表的寄义以下:
Minute每一个小时的第几分钟实行该义务
Hour天天的第几个小时实行该义务
Day每个月的第几天实行该义务
Month每一年的第几个月实行该义务
DayOfWeek每周的第几天实行该义务
Command指定要实行的步伐
在这些字段里,除“Command”是每次都必需指定的字段之外,别的字段皆为可选字段,可视必要决意。关于不指定的字段,要用“*”来弥补其地位。
举比方下:
1、指定每小时的第5分钟实行一次ls下令
5****ls
2、指定天天的5:30实行ls下令
305***ls
3、指定每个月8号的7:30分实行ls下令
3078**ls
4、指定每一年的6月8日5:30实行ls下令
30586*ls
5、指定每日曜日的6:30实行ls下令
306**0ls
注:0暗示礼拜天,1暗示礼拜1,以此类推,也能够用英文来暗示,sun暗示礼拜天,mon暗示礼拜一等。
6、每个月10号及20号的3:30实行ls下令
30310,20**ls
注:“,”用来毗连多个不一连的时段
7、天天8-11点的第25分钟实行ls下令
258-11***ls
注:“-”用来毗连一连的时段
8、每15分钟实行一次ls下令
*/15****ls
即每一个小时的第015304560分钟实行ls下令
9、每月中,每隔10天6:30实行一次ls下令
306*/10**ls
即每个月的1、11、21、31日是的6:30实行一次ls下令。
10、天天7:50以root身份实行/etc/cron.daily目次中的一切可实行文件
507***rootrun-parts/etc/cron.daily
注:run-parts参数暗示,实行前面目次中的一切可实行文件。
2、新增调剂义务
新增调剂义务可用两种***:
1、在下令行输出:crontab-e然后增加响应的义务,wq存盘加入。
2、间接编纂/etc/crontab文件,即vi/etc/crontab,增加响应的义务。
3、检察调剂义务
crontab-l//列出以后的一切调剂义务
crontab-l-ujp//列出用户jp的一切调剂义务
4、删除义务调剂事情
crontab-r//删除一切义务调剂事情
5、义务调剂实行了局的转向
例1:天天5:30实行ls下令,并把了局输入到/jp/test文件中
305***ls>/jp/test2>&1
注:2>&1暗示实行了局及毛病信息。
编纂/etc/crontab文件设置cron
cron办事每分钟不但要读一次/var/spool/cron内的一切文件,还必要读一次/etc/crontab,因而我们设置这个文件也
能使用cron办事做一些事变。用crontab设置是针对某个用户的,而编纂/etc/crontab是针对体系的义务。此文件的文件格局是:
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"这个参数了,假如往失落这个参数的话,前面就能够写要运转的某个剧本名,而不是文件夹名了。
参数:
crontab-e:实行笔墨编纂器来设准时程表,内定的笔墨编纂器是VI,假如你想用其余笔墨编纂器,则请先设定VISUAL情况变数来指定利用谁人笔墨编纂器(好比说setenvVISUALjoe)
crontab-r:删除今朝的时程表
crontab-l:列出今朝的时程表
crontabfile[-uuser]-用指定的文件替换今朝的crontab。
时程表的格局以下:
f1f2f3f4f5program
个中f1是暗示分钟,f2暗示小时,f3暗示一个月份中的第几日,f4暗示月份,f5暗示一个礼拜中的第几天。program暗示要实行的步伐。
当f1为*时暗示每分钟都要实行program,f2为*时暗示每小时都要实行步伐,其馀类推
当f1为a-b时暗示从第a分钟到第b分钟这段工夫内要实行,f2为a-b时暗示从第a到第b小时都要实行,其馀类推
当f1为*/n时暗示每n分钟个工夫距离实行一次,f2为*/n暗示每n小时个工夫距离实行一次,其馀类推
当f1为a,b,c,...时暗示第a,b,c,...分钟要实行,f2为a,b,c,...时暗示第a,b,c...个小时要实行,其馀类推
利用者也能够将一切的设定先寄存在档案file中,用crontabfile的体例来设准时程表。
例子:
#天天早上7点实行一次/bin/ls:
07***/bin/ls
在12月内,天天的早上6点到12点中,每隔3个小时实行一次/usr/bin/backup:
06-12/3*12*/usr/bin/backup
周一到周五天天下战书5:00寄一封信给:
017**1-5mail-s"hi"</tmp/maildata
每个月天天的半夜0点20分,2点20分,4点20分....实行echo"haha"
200-23/2***echo"haha"
注重:
当步伐在你所指定的工夫实行后,体系会寄一封信给你,显现该步伐实行的内容,如果你不但愿收到如许的信,请在每行空一格以后加上>/dev/null2>&1便可
例子2:
#天天早上6点10分
106***date
#每两个小时
0*/2***date
#早晨11点到早上8点之间每两个小时,早上8点
023-7/2,8***date
#每月的4号和每一个星期的星期一到星期三的早上11点
0114*mon-weddate
#1月份日早上4点
041jan*date
典范
$crontab-l列出用户今朝的crontab.
linux义务企图
2008/11/2110:35
cron是一个linux下的准时实行工具,能够在无需野生干涉的情形下运转功课。因为Cron是Linux的内置办事,但它不主动起来,能够用以下的***启动、封闭这个办事:
/sbin/servicecrondstart//启动办事
/sbin/servicecrondstop//封闭办事
/sbin/servicecrondrestart//重启办事
/sbin/servicecrondreload//从头载进设置
你也能够将这个办事在体系启动的时分主动启动:
在/etc/rc.d/rc.local这个剧本的开端加上:
/sbin/servicecrondstart
如今Cron这个办事已在历程内里了,我们就能够用这个办事了,Cron办事供应以下几种接供词人人利用:
1、间接用crontab下令编纂
cron办事供应crontab下令来设定cron办事的,以下是这个下令的一些参数与申明:
crontab-u//设定某个用户的cron办事,一样平常root用户在实行这个下令的时分必要此参数
crontab-l//列出某个用户cron办事的具体内容
crontab-r//删除某个用户的cron办事
crontab-e//编纂某个用户的cron办事
好比说root检察本人的cron设置:crontab-uroot-l
再比方,root想删除fred的cron设置:crontab-ufred-r
在编纂cron办事时,编纂的内容有一些格局和商定,输出:crontab-uroot-e
进进vi编纂形式,编纂的内容必定要切合上面的格局:*/1****ls>>/tmp/ls.txt
这个格局的前一局部是对工夫的设定,前面一局部是要实行的下令,假如要实行的下令太多,能够把这些下令写到一个剧本内里,然后在这里间接挪用这个剧本就能够了,挪用的时分记得写出下令的完全路径。工夫的设定我们有必定的商定,后面五个*号代表五个数字,数字的取值局限和寄义以下:
分钟 (0-59)
小r (0-23)
日期 (1-31)
月份 (1-12)
礼拜 (0-6)//0代表礼拜天
除数字另有几个个特别的标记就是"*"、"/"和"-"、",",*代表一切的取值局限内的数字,"/"代表每的意义,"*/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
每次编纂完某个用户的cron设置后,cron主动在/var/spool/cron下天生一个与此用户同名的文件,此用户的cron信息都纪录在这个文件中,这个文件是不成以间接编纂的,只能够用crontab-e来编纂。cron启动后每过一份钟读一次这个文件,反省是不是要实行内里的下令。因而此文件修正后不必要从头启动cron办事。
2、编纂/etc/crontab文件设置cron
cron办事每分钟不但要读一次/var/spool/cron内的一切文件,还必要读一次/etc/crontab,因而我们设置这个文件也能使用cron办事做一些事变。用crontab设置是针对某个用户的,而编纂/etc/crontab是针对体系的义务。此文件的文件格局是:
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"这个参数了,假如往失落这个参数的话,前面就能够写要运转的某个剧本名,而不是文件夹名了。
--------------------------------------
基础格局:
*****command
分 时 日 月 周 下令
第1列暗示分钟1~59每分钟用*大概*/1暗示
第2列暗示小时1~23(0暗示0点)
第3列暗示日期1~31
第4列暗示月份1~12
第5列标识号礼拜0~6(0暗示礼拜天)
第6列要运转的下令
crontab文件的一些例子:
3021***/usr/local/etc/rc.d/lighttpdrestart
下面的例子暗示每晚的21:30重启lighttpd。
4541,10,22**/usr/local/etc/rc.d/lighttpdrestart
下面的例子暗示每个月1、10、22日的4:45重启lighttpd。
101**6,0/usr/local/etc/rc.d/lighttpdrestart
下面的例子暗示每周6、周日的1:10重启lighttpd。
0,3018-23***/usr/local/etc/rc.d/lighttpdrestart
下面的例子暗示在天天18:00至23:00之间每隔30分钟重启lighttpd。
023**6/usr/local/etc/rc.d/lighttpdrestart
下面的例子暗示每礼拜六的11:00pm重启lighttpd。
**/1***/usr/local/etc/rc.d/lighttpdrestart
每小时重启lighttpd
*23-7/1***/usr/local/etc/rc.d/lighttpdrestart
早晨11点到早上7点之间,每隔一小时重启lighttpd
0114*mon-wed/usr/local/etc/rc.d/lighttpdrestart
每个月的4号与每周一到周三的11点重启lighttpd
041jan*/usr/local/etc/rc.d/lighttpdrestart
一月一号的4点重启lighttpd
linux准时重启tomcat
假设tomcat放在/opt目次下
1、在/opt/tomcat目次下创建restart.sh,内容以下
#!/bin/sh
/opt/tomcat/bin/shutdown.sh
sleep1m
/opt/tomcat/bin/startup.sh
创建终了今后,能够先测试一下这个剧本,看看剧本有无成绩。
2、剧本没成绩后,要在crond办事中增加某时某刻实行这个剧本的下令,***以下
下令:crontab-e
内容:3003***/opt/tomcat/restart.sh
如许就算完成了,关于crontab内容的详细寄义是:在天天的3点30分,实行谁人剧本。具体的参数设置请自行谷歌(或百度)
3、在网上找的教程中倡议重启crond办事,下令以下
servicecrondstop
servicecrondstart
要提示人人注重的是,restart.sh剧本倡议在linux下用vi编纂,假如在windows下编纂大概会呈现编码成绩,我已经碰到过这类情形,倡议人人别犯相似毛病。
小知识:CentOS来自于RedHatEnterpriseLinux依照开放源代码规定释出的源代码所编译而成。 你需要提供精确有效的信息。Linux这并不是要求你简单的把成吨的出错代码或者数据完全转储摘录到你的提问中。 我学习Linux的心得体会 ,希望对大家的学习有所帮助,由于水平有限,本文难免有所欠缺,望请指正。 永中office 2004增强版安装只需要默认安装即可使用并操作大多与win系统雷同,打印机的配置和管理,记录光盘等。 Windows?是图形界面的,Linux类似以前的?DOS,是文本界面的,如果你运行了图形界面程序X-WINDOWS后,Linux?也能显示图形界面,也有开始菜单、桌面、图标等。 期间我阅读了不少关于Linux的相关资料,其中也不乏一些有趣的小故事,这既丰富了我的课余生活,也让我加深了对一些术语的理解,比玩游戏强多了。? Linux是参照Unix思想设计的,理解掌握Linux必须按照Unix思维来进行。思想性的转变比暂时性的技术提高更有用,因为他能帮助你加快学习速度。 最好先搜寻一下论坛是否有您需要的文章。这样可以获得事半功倍的效果。 主流Linux发行版都自带非常详细的文档(包括手册页和FAQ),从系统安装到系统安全,针对不同层次的人的详尽文档,仔细阅读文档后40%问题都可在此解决。
页:
[1]