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
阅读(1014) | 评论(0) | 转发(0) |