读书人

《鸟哥的linux私房钱菜》笔记之例行性

发布时间: 2012-12-30 10:43:15 作者: rapoo

《鸟哥的linux私房菜》笔记之例行性工作排程(crontab/at)
crontab的启动和停止

cron服务是linux的内置服务,但它不会开机自动启动。可以用以下命令启动和停止服务:

/sbin/service crond start //启动

/sbin/service crond stop //停止

/sbin/service crond restart //重启

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

备注: 要把cron设为在开机的时候自动启动,在 /etc/rc.d/rc.local 脚本中加入/sbin/service crond start 即可。同样适用于at

crontab命令使用

[root@www ~]# crontab [-u username] [-l|-e|-r]

选项与参数:

-u :root帮其他使用者建立/移除 crontab 工作排程;

-e :编辑 crontab的内容

-l :查阅 crontab 的内容

-r :移除所有的 crontab 的内容。(若仅要移除一项,请用 -e 去编辑)

crontab语法说明

例子: 52 5 * * * /usr/local/src/analog-5.32-lh/analog

#分 时 日 月 周 |<==============指令串==============>|

表示日期的部分除了可以是数字外,还可以是一下特殊字符:

特殊字符

代表意义

*(星号)

代表任何时刻。 如:52 12 * * * 表示任何月/周/日的5点52分

,(逗号)

代表分隔时段。如: 52 5,22 * * *表示任何月/周/日的5点或22点52分

-(减号)

代表一段时间范围内。如: 52 5-8 * * *表示任何月/周/日的5点到8点内每个小时的52分。

/n(斜线)

每隔 n 单位。如:20 */2 * * * 表示任意月/周/日的2、4、6...24等点20分

所以示例中的意思是:在每月每周每日的5点52分运行/usr/local/src/analog-5.32-lh/analog文件。

备注: 周和日月不可同时并存。

Ex:(crontab -e进入编辑)

1、59 23 1 5 * mail kiki < /home/dmtsai/lover.txt

//5月1号23时59分将lover.txt的内容邮寄给kiki

2、*/5 * * * * /home/dmtsai/test.sh

// 每5分钟执行一次test.sh

at命令使用

[root@www ~]# at [-mldv] TIME

[root@www ~]# at -c 工作号码

选项与参数:

-m :当 at 的工作完成后,即使没有输出讯息,亦以 email 通知使用者该工作已完成。 -l :at -l 相当于atq,列出目前系统上面的所有该用户的at 排程;

-d :at -d 相当于atrm ,可以取消一个在 at 排程中的工作;

-v :可以使用较明显的时间格式栏出 at 排程中的任务栏表;

-c :可以列出后面接的该项工作的实际指令内容。

TIME的格式:

HH:MM YYYY-MM-DD

HH:MM[am|pm] + number [minutes|hours|days|weeks]

执行at会进入at shell环境,输入要完成的工作,然后按CTRL-D结束工作输入。

Ex:

1、 [root@www ~]# at 23:00 2009-03-17

at> /bin/sync

at> /bin/sync

at> /sbin/shutdown -h now

at>CTRL-D

//2009-03-17 23:00 执行关机

2、 at -c 2

备注:由于指令下达与PATH变量有关,同时与当时的工作目录也有关连 (如果有牵涉到档案的话),因此使用绝对路径来下达指令,会是比较一劳永逸的方法。

参考:http://blog.csdn.net/21aspnet/article/details/6798179

读书人网 >UNIXLINUX

热点推荐