Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103118603
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-03-29 10:30:06

 
 
 
久违了的cron,我要记住你的用法!
 
cron简易教程
1.编辑/usr/spool/cron/crontabs/root文件(以root用户执行。若以其它用户执行,则编辑相应文件名),
minute hour day_of_month month weekday command 的格式加入行。
30     8    8            *     *       echo "Hello"  即每月8日8:30执行命令echo "Hello"。
2.ps –ef | grep cron -> kill -9 cron的进程号
3./etc/cron
(2、3即重启cron进程,无须重启系统)

 

 
一、与crontab相关的目录
1、/usr/lib/cron                      cron服务主目录,主要包括以下:
     /usr/lib/cron/cron.allow   允许cron服务的列表。
     /usr/lib/cron/cron.deny    禁止cron服务的列表。
      默认情况下,仅仅有cron.deny空文件。cron.allow不存在,如果建立了cron.allow则只有root用户可用crontab命令。如相关文件存在,则存在优先原则;*.allow优先于*.deny。cron.*文件格式:用户名一行行的加入。
     /usr/lib/cron/queuedefs    cron 数据文件
     /usr/lib/cron/FIFO         当新的作业提交由crontab完成时,一个发送消息到cron守护进程的命令管道
     /usr/lib/cron/log               cron执行的log文件
2、/usr/spool/cron/crontabs   crontab表目录,包括所有开启cron服务的用户文件,以用户名为文件名。用户属性随意,组属性为cron。
3、/etc/default/cron              CRONLOG设置为YES,该值默认为NO,系统将自动生成相应的日志文件/usr/lib/cron/log。    在/etc/default/cron中MAXLOGSIZE 限制了log文件的大小,该变量以512字节为单位设定的log的最大块数,缺省为2048块。MAXCRON变量,控制在同一时刻允许运行的最大进程数量,缺省为100。
 
二、crontab表的默认值
PATH=/bin:/usr/bin:
SHELL=/bin/sh
HOME
LOGNAME
同时默认%为行结束符。
 
三、crontab命令格式与文件格式。
1、crontab命令的格式
   crontab [ -u user ] [-e | -l | -r | File]
    -e    编辑当前用户的crontab文件,如不存在,则启动编辑佳话来创建之。
    -l     显示用户的crontab文件内容
    -r    从crontabs目录中删除用户的crontab文件
    -u user 用root权限修改相应用户的crontab表。
   File 该命令首先对File的内容进行合法性检查,如有效,则copy到 /var/admn/cron/crontabs目录中,并以用户名为文件名或覆盖当前用户原来的      crontab文件。
2、crontab文件格式
   crontab文件记录的格式:
   minute  hour  day_of_month   month  weekday       command
   0~59    0~23   1~31天   1~12   0~6   (0为星期日)  Shell命令或脚本
   (1)从...到....:数字用“-”连接,表范围,如1-5表示1,2,3,4,5。
   (2)单独数字表示所属时间内,如Month中填6,表示6月内;
   (3)逗号分隔,表示单列项,如1,3,5
   (4)*号表所有合法值,如:*放在month表示1~12
   (5)/表示每的意思,如:0/20放在minute表示0分钟开始每20分钟执行一次。
   (6)星期与天的关系是或的关系,如:1-10放在day,5放在weekday下。表示1到10日或星期5执行。
 
四、使用crontab命令三种方式:
    1、手动方式:crontab –e
    2、脚本方式:
      例:echo ‘0 12 * * * date >/nowdate’ >>/var/spool/cron/crontabs/root
          crontab /var/spool/cron/crontabs/root
    3、脚本方式(必要root权限):
      例:echo ‘0 12 * * * date >/nowdate’ >>/var/spool/cron/crontabs/root
      ps –ef |awk ‘/cron/{print “kill -9”,$2}` |sh
      rm /usr/lib/cron/FIFO
      /etc/cron
阅读(547) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~