快速业务通道

Linux定时任务系统Cron入门

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-24

  cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业.Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:

  /sbin/service crond start //启动服务

  /sbin/service crond stop //关闭服务

  /sbin/service crond restart //重启服务

  /sbin/service crond reload //重新载入配置

  你也可以将这个服务在系统启动的时候自动启动:

  在/etc/rc.d/rc.local这个脚本的末尾加上:

  /sbin/service crond start

  现在Cron这个服务已经在进程里面了,我们就可以用这个服务了,Cron服务提供以下几种接口供大家使用:

  1.直接用crontab命令编辑

  cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:

  crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数

  crontab -l //列出某个用户cron服务的详细内容

  crontab -r //删除没个用户的cron服务

  crontab -e //编辑某个用户的cron服务

  比如说root查看自己的cron设置:crontab -u root -l

  再例如,root想删除fred的cron设置:crontab -u fred -r

  在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e

  进入vi编辑模式,编辑的内容一定要符合下面的格式:*/1 * * * * ls >> /tmp/ls.txt

  这个格式的前一部分是对时间的设定,后面一部分是要执行的命令,如果要执行的命令太多,可以把这些命令写到一个脚本里面,然后在这里直接调用这个脚本就可以了,调用的时候记得写出命令的完整路径.时间的设定我们有一定的约定,前面五个*号代表五个数字,数字的取值范围和含义如下:

  分钟 (0-59)

  小时 (0-23)

  日期 (1-31)

  月份 (1-12)

  星期 (0-6)//0代表星期天

  除了数字还有几个个特殊的符号就是"*"、"/"和"-"、",",*代表所有的取值范围内的数字,"/"代表每的意思,"*/5"表示每5个单位,"-"代表从某个数字到某个数字,","分开几个离散的数字.以下举几个例子说明问题:

Empire CMS,phome.net

  每天早上6点

  0 6 * * * echo "Good morning." >> /tmp/test.txt //注意单纯echo,从屏幕上看不到任何输出,cron把任何输出都email到root的信箱了.

  每两个小时

  0 */2 * * * echo "Have a break now." >> /tmp/test.txt

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

  0 23-7/2,8 * * * echo "Have a good dream:)" >> /tmp/test.txt

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

  0 11 4 * 1-3 command line

  1月1日早上4点

  0 4 1 1 * command line

  以下是两个cron语句的例子(在 /etc/crontab 文件里).前者用来晚间备份 /etc 目录,后者运行Analog程序处理服务器的统计信息.

  12 3 * * * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >> /dev/null 2>&1

  52 5 * * * root /usr/local/src/analog-5.32-lh/analog >> /dev/null 2>&1以下是cron语句中的字段与字段说明:

  字段 说明

  1 分钟(0-59)

  2 小时(2-24)

  3 日期(1-31)

  4 月份(1-12;或英文缩写Jan、Feb等)

  5 周几(0-6,0为周日;或单词缩写Sun、Mon等)

  6 用户名(执行命令时以此用户的身份)

  7 要执行的命令(路径)

  现在来看第一行:

  12 3 * * * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >> /dev/null 2>&1这条语句将在每天的凌晨3点12分(03:12)运行 tar czf /usr/local/backups/daily/etc.tar

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号