crond是Linux下定时执行任务工具,可以在无人干预的情况下完成一些日常周期性的任务。
1.crond的启动
/etc/init.d/crond start | stop | restart | status 依次是启动、停止、重启和查询当前状态命令;
也可以从/etc/rc.d/init.d/crond start|stop|status|restart执行命令。
2.编辑crontab
通过编辑crontab可以设置需要定时执行的任务/命令,crontab命令有:
crontab -u 设定某个用户的cron服务,一般是root用户设置;
crontab -l 列出当前的定时执行任务/命令;
crontab -e 编辑定时执行任务/命令;
crontab -r 删除crontab;
crontab中的命令行格式为
* * * * * command
分 时 日 月 周 需要定时执行的命令
-------------------------------------------------------
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
需要注意的是crontab编辑的是当前用户的定时执行任务/命令 。如果想要系统执行,可以编辑 vi /etc/crontab,/etc/crontab中的内容有:
[root@test /root]# vi /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly <==每小时执行的工作
02 4 * * * root run-parts /etc/cron.daily <==每天执行的工作
22 4 * * 0 root run-parts /etc/cron.weekly <==每星期执行的工作
42 4 1 * * root run-parts /etc/cron.monthly <==每个月执行的工作
分 时 日月周使用者 参数 指令
上面的内容一个要注意的是(run -parts后面的)每行除了指定命令/任务执行时间外,还指定了用户,另一个是系统预先设定了按时、按天、按周和按月执行的任务,可以按需求到各个子文件去编辑命令/任务。
3.例子
我最近使用crond的一个例子:设置命令定时执行awstats.pl来对数字博物馆网站进行访问统计,命令如下
58 23 * * * root perl /var/www/html/awstats/awstats.pl -update -config=digitalmuseum.zju6.edu.cn -output > /var/www/html/index.html
这个命令即用awstats.pl分析网站digitalmuseum.zju6.edu.cn的log日志,并将分析统计结果以html的形式输出到index.html。
题外话,推荐一下网站digitalmuseum.zju6.edu.cn,这是很多大学一起合作做的数字博物馆,总体来说不错的。IPv6用户可以访问 digitalmuseum.zju6.edu.cn,如果没有安装IPv6协议,可以访问digitalmuseum.zju.edu.cn。
另外,大学图书馆www.cadal.zju6.edu.cn (www.cadal.zju.edu.cn)也是不错的,有很多优质资源,欢迎访问。
Linux 定时任务
最新推荐文章于 2024-10-11 17:02:44 发布