Chinaunix首页 | 论坛 | 博客
  • 博客访问: 928009
  • 博文数量: 146
  • 博客积分: 3321
  • 博客等级: 中校
  • 技术积分: 1523
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-29 10:32
文章分类

全部博文(146)

文章存档

2014年(2)

2013年(5)

2012年(4)

2011年(6)

2010年(30)

2009年(75)

2008年(24)

分类: LINUX

2009-07-17 14:18:51

    cron 系统调度进程。可以使用它在每天的非高峰负荷时间段运行作业,或在一周或一月
中的不同时段运行。cron是系统的主要调度系统,可以在无人工干预的情况下于运行指定的作业。
crontab命令允许用户提交,编辑,删除一个作业。每一个用户都可以有一个crontab文件保存调度信息。
操作过程:首先设置环境变量,编辑$HOME 下的文件.profile在其中加入EDITOR=VIM;export EDITOR
然后在文件alongcron中写入你的计划任务,比如*/3 * * * * /bin/echo `date` >> /home/along/testlog,保存退出。接下来提交作业:crontab alongcron就可以了,整个过程完成。

删除当前的作业输入crontab -r。
查看当前作业内容:crontab -l
修改当前作业内容:crontab -e

1. crontab 文件的分段

依次分别是

  • 分(0-59)
  • 时(0-23)
  • 日(1-31)
  • 月(1-23,或者英文名)
  • 周(0-7,或者英文名,0和7均表示周日)
  • 要执行的内容   

2. 前五段:时间和日期

1)表示任意:* 号表示 “任意”(first-last)。

2)指定数字,表示指定的时间。

3)指定段,表示“开始-结束”内包含的数:比如3-6,表示3,4,5,6

4)指定列表:比如 “1,2,3,4″,”0-4,8-12″

5)指定“步长”:8-14/2 表示8,10,12,14

   比如我现在想要每隔3分钟向/home/along/testlog输入一次date值。那么我的crontab文件可以
这样写:*/3 * * * * /bin/echo `date` >> /home/along/testlog。

例如:我开始写的alongcron文件是:*/2 * * * * /bin/echo `date` >> /home/along/testlog
     这是每隔两分钟执行一次。过了一会儿我修改了alongcron文件为:*/3 * * * * /bin/echo `date` >> /home/along/testlog。这时后变成每隔三分钟执行一次。查看我的testlog文件可以看到:
     1    Fri Jul 17 13:30:01 CST 2009
     2    Fri Jul 17 13:32:01 CST 2009
     3    Fri Jul 17 13:34:01 CST 2009
     4    Fri Jul 17 13:36:02 CST 2009
     5    Fri Jul 17 13:38:01 CST 2009
     6    Fri Jul 17 13:40:01 CST 2009
     7    Fri Jul 17 13:42:01 CST 2009
     8    Fri Jul 17 13:45:01 CST 2009
     9    Fri Jul 17 13:48:01 CST 2009
    10    Fri Jul 17 13:51:01 CST 2009
    11    Fri Jul 17 13:54:01 CST 2009
    12    Fri Jul 17 13:57:01 CST 2009
    13    Fri Jul 17 14:00:01 CST 2009
    14    Fri Jul 17 14:03:01 CST 2009
    15    Fri Jul 17 14:06:01 CST 2009
这里文件前边的行号是我加上的。
可以看到从第8行开始每隔三分钟执行一次,开始都是每隔两分钟执行一次。

  
有时候会出现crontab无法使用,这时候可以在root用户下修改/usr/bin/crontab文件的权限。
   因为crontab要使用到除了crontab之外的其他文件,而那些文件普通用户是没有更改权限的,那么现在就需要增加他对文件系统的特权,让可以对其它文件也有更改权限,更改上面的方法是先切换到root用户下再执行

修改前文件的权限:
root@along-laptop:/usr/bin# ls -l crontab
-rwxr-sr-x 1 root crontab 31632 2009-05-13 05:49 crontab

改过后的权限是
root@along-laptop:/usr/bin# chmod u+s crontab
root@along-laptop:/usr/bin# ls -l crontab
-rwsr-sr-x 1 root crontab 31632 2009-05-13 05:49 crontab




  

阅读(985) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~