- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux的自动执行程序cron和crontab
Linux的自动执行程序cron和crontab(1)2008-05-29 10:48 galeki /galeki的博客 /art/200805/75224.htm我要评论(0) 字号:T | javascript:setfont(16);T假如你有一些任务要定期执行,比如清理磁盘、删除过期文件、发送邮件和提醒,这个时候可以用cron来帮你。AD: 假如你有一些任务要定期执行,比如清理磁盘、删除过期文件、发送邮件和提醒,这个时候可以用cron来帮你。首先是安装,大多数发行版都预装了,Gentoo下的cron有许多种实现,可以用emerge --search cron来查看,这里用vixie-cron,因为功能比较完整,命令语法也比较通用。# emerge vixie-cron之后要启动cron服务:# /etc/init.d/vixie-cron start别忘了把cron加入到启动脚本中:# rc-update add vixie-cron default完成安装。系统cron设定:/etc/crontab通过 /etc/crontab 文件,可以设定系统定期执行的任务,当然,要想编辑这个文件,得有root权限。让我们打开 /etc/crontab,看看cron的语法:# for vixie cron## $Header: /var/cvsroot/gentoo-x86/sys-process/vixie-cron/files/crontab-3.0.1-r4,v 1.1 2005/03/04 23:59:48 ciaranm Exp $##?# Global variablesSHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=rootHOME=/?# check scripts in cron.hourly, cron.daily, cron.weekly and cron.monthly0 *? * * *? ? ?rootrm -f /var/spool/cron/lastrun/cron.hourly1 3 * * *? ? ?rootrm -f /var/spool/cron/lastrun/cron.daily15 4 * * 6?rootrm -f /var/spool/cron/lastrun/cron.weekly30 5 1 * *? ? ?rootrm -f /var/spool/cron/lastrun/cron.monthly*/10 *? * * *? roottest -x /usr/sbin/run-crons /usr/sbin/run-crons?以上是一个默认的/etc/crontab文件,7~11行设定了执行任务时特定环境变量的值,MAILTO=root 指出出错信息发给root。真正描述执行的任务在14~18行,每行代表了一个定期执行的任务,从前到后,分为3部分:第一部分,一堆奇怪的数字和星号,这部分描述任务的执行周期和时间,后面我们将详细解释。第二部分,上面的文件全部是root,描述了执行任务时的用户。第三部分,为需要执行的完整命令。第一部分分为5个小部分,没部分可以是数字或者星号,分别代表了分钟、小时、日期、月份、周,让我们来看一个例子:0?7?*? ? *? ?*? ? root? ? mpg123 ~/wakeup.mp3 分 时 日 月 周星号,即代表不限制,上面的例子就是:每天的7点0分,都将执行mpg123 ~/wakeup.mp3,放首歌,把自己从睡梦中叫醒~以下是各部分的取之范围:?分钟0~59?小时0~23?日期1~31?月份1~12周0~6其中周的范围0~6,0代表星期天,1~6代表周一~周六。让我们来看更多的例子:0 4 * * 0?root? ? emerge --sync emerge -uD world#每周日凌晨4点,更新系统0 2 1 * *? ? ?rootrm -f /tmp/* #每月1号凌晨2点,清理/tmp下的文件0 8 6 5 *? ?root? ? ?mail? robin /home/galeki/happy.txt#每年5月6日给robin发信祝他生日快乐假如,我想每隔2分钟就要执行某个命令,或者我想在每天的6点、12点、18点执行命令,诸如此类的周期,可以通过 “ / ” 和 “ , ” 来设置:*/2?*? ?*? ?*? ?*? ? ? ? ? ?root? ? ? ...............#每两分钟就执行........0 6,12,18?*? ?*? ?*? ? root? ? ? ...............#每天6点、12点、18点执行...
文档评论(0)