日期:2014-05-16  浏览次数:20715 次

linux下定时任务
最近在学习nutch,想让它每天自动去抓取我们学校的网站内容。cron正是解决这个问题的工具。

cron是linux下定时执行工具,可在完全无人工干预的情况下作业。可以用一下命令来手动开启或关闭该任务:

/sbin/service crond start 启动服务

/sbin/service crond stop 关闭服务

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

/sbin/service crond reload 重新加载服务

cron 配置计划任务的书写格式:

分钟 小时 日  月  周   [用户名]  命令

说明:

第一段应该定义的是:分钟,表示每个小时的第几分钟来执行。范围是从0-59

第二段应该定义的是:小时,表示从第几个小时来执行,范围是从0-23

第三段应该定义的是:日期,表示从每个月的第几天执行,范围从1-31

第四段应该定义的是:月,表示每年的第几个月来执行,范围从1-12

第五段应该定义的是:周,表示每周的第几天执行,范围从0-6,其中 0表示星期日。

每六段应该定义的是:用户名,也就是执行程序要通过哪个用户来执行,这个一般可以省略;

第七段应该定义的是:执行的命令和参数。

在系统中,/etc目录下,有cron.daily,cron.hourly,cron.monthly,cron.weekly文件目录,我们只需要在相应目录下添加写好的shell文件就可以自动定时执行。

如我希望nutch能在每天早晨9点0分开始自动抓取,可以这样实现:

[root@localhost cron.daily]# touch autonutch.sh

[root@localhost cron.daily]# chmod 755 autonutch.sh /*改变autonutch.sh的访问权限*/

[root@localhost cron.daily]# echo "/home/sunny/nutch/bin/nutch crawl urls -dir crawl" > autonutch.sh

[root@localhost cron.daily]# more autonutch.sh

/home/sunny/nutch/bin/nutch crawl urls -dir crawl