您的位置:首页 > 运维架构 > Linux

linux中的cron(计划任务)

2008-03-04 11:33 561 查看
玩archlinux有一小段时间了,也就刚会装系统、配置中文环境、安个软件什么的。
最近简单研究了下cron(任务计划),听不错的,系统可以自动为你完成一些操作。
原来在windows下用php作个统计在线人数的功能,由于要定时刷新数据库,将过时数据清空,单用php作很是麻烦。因为尽管说是定时刷新,但刷新功能php页面需要触发才能完成工作,倘若你定时没30分钟完成数据操作,若没有人去触发php运行,定时功能也是徒有其表。
现在好办多了,使用cron来定时系统为你自动运行php。
archlinux中cron的命令大概为:
1.开启archlinux中的cron服务
/usr/sbin/crond start 打开
/usr/sbin/crond stop关闭
/usr/sbin/crond restart重启
/usr/sbin/crond reload重新载入cron配置
(倘若想要随机启动该服务,可以找到/etc/rc.local,用vi打开并添加/usr/sbin/crond start)
2.查看从、编辑当前系统的cron
cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:
crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除没个用户的cron服务
crontab -e //编辑某个用户的cron服务
3.编辑cron
(1)编辑cron的规则为:
分钟 小时 日期 月份 星期 command(命令),记住“每”这个词表示为*,例如:要1-3月份的每个星期的每一天每一小时中的每10分钟运行/var/test.php,则编辑为:*/10 * * 1-3 * /var/test.php,保存退出,然后/usr/sbin/crond restart。系统则会按照设定来自动运行。
4.编辑/etc/crontab 文件配置cron

cron服务每分钟不仅要读一次/var/spool/cron内的所有文件,还需要读一次/etc/crontab,因此我们配置这个文件也能运用 cron服务做一些事情。用crontab配置是针对某个用户的,而编辑/etc/crontab是针对系统的任务。此文件的文件格式是:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号
HOME=/ //使用者运行的路径,这里是根目录
# run-parts
01 * * * * root run-parts /etc/cron.hourly //每小时执行/etc/cron.hourly内的脚本
02 4 * * * root run-parts /etc/cron.daily //每天执行/etc/cron.daily内的脚本
22 4 * * 0 root run-parts /etc/cron.weekly //每星期执行/etc/cron.weekly内的脚本
42 4 1 * * root run-parts /etc/cron.monthly //每月去执行/etc/cron.monthly内的脚本

大家注意"run-parts"这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名了。
(archlinux中我没找到/etc/crontab这个文件夹,有待考证。呵呵)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: