逍遥一派 发表于 2015-1-16 11:39:21

带来一篇linux crontab实例剖析

如果你只是想应付一下操作系统的课程,劝你最好别学,或者说不要指望能用的怎么样。
设置每分钟实行一次我的程序:
#crontab-e
**/1***/home/lfzhou/vhost/vhost
/sbin/servicecrondstop//封闭服务
/sbin/servicecrondstart//启动服务

/sbin/servicecrondreload//从头载进设置

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的常用命令find,察看man文档,初学者一定会觉得太复杂而不原意用,但是你一旦学会就爱不释手。

冷月葬花魂 发表于 2015-1-17 15:48:48

应对Linux的发展历史和特点有所了解,Linux是抢占式多任务多用户操作系统,Linux最大的优点在于其作为服务器的强大功能,同时支持多种应用程序及开发工具。

不帅 发表于 2015-1-20 21:58:04

写学习日记,这是学习历程的见证,同时我坚持认为是增强学习信念的法宝。

若天明 发表于 2015-1-30 06:06:03

Linux高手更具有鼓励新手的文化精神。如何在Linux社区获得帮助,需要说明的是你要有周全的思考,准备好你的问题,不要草率的发问。

兰色精灵 发表于 2015-2-6 08:00:19

linux鸟哥的私房菜,第三版,基础篇,网上有pdf下的,看它的目录和每章的介绍就行了,这个绝对原创!

飘飘悠悠 发表于 2015-2-15 19:05:08

得到到草率的回答或者根本得不到任何Linux答案。越表现出在寻求帮助前为解决问题付出的努力,你越能得到实质性的帮助。

admin 发表于 2015-3-4 13:18:14

随着IT从业人员越来越多,理论上会有更多的人使用Linux,可以肯定,Linux在以后这多时间不会消失。

小女巫 发表于 2015-3-11 19:47:03

如果你有庞大而复杂的测试条件,尽量把它剪裁得越小越好。可能你会遇到这种情况,对于一个问题会出现不同内容回答,这时你需要通过实践来验证。

爱飞 发表于 2015-3-19 10:51:22

应对Linux的发展历史和特点有所了解,Linux是抢占式多任务多用户操作系统,Linux最大的优点在于其作为服务器的强大功能,同时支持多种应用程序及开发工具。

蒙在股里 发表于 2015-3-27 23:10:27

Windows?是图形界面的,Linux类似以前的?DOS,是文本界面的,如果你运行了图形界面程序X-WINDOWS后,Linux?也能显示图形界面,也有开始菜单、桌面、图标等。
页: [1]
查看完整版本: 带来一篇linux crontab实例剖析