浅谈crond服务及crontab用法

来源:互联网 发布:美工常用72种字体打包 编辑:程序博客网 时间:2024/05/29 14:36

Crond是Linux用来定期执行命令或指定程序任务的一种服务或软件。Crond服务会定期(默认每分钟检查一次)检查系统中是否有要执行的任务工作。如果有,便会根据其预先设定的定时任务规则自动执行该定时任务工作。这个Crond定时任务服务就相当于我们早上使用的闹钟一样。
crond服务是运行的程序,而crontab是用户用来设置定时规则的命令。
crontab是一个很方便的在unix/linux系统上定时(循环)执行某个任务的程序,使用cron服务,用 service crond status 查看 cron服务状态,如果没有启动则 service crond start启动它,cron服务是一个定时执行的服务,可以通过crontab 命令添加或者编辑需要定时执行的任务:

crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数 crontab -l //列出某个用户cron服务的详细内容 crontab -r //删除没个用户的cron服务 crontab -e //编辑某个用户的cron服务crontab -h //查看帮助usage:crontab [-u user] file       crontab [-u user] [ -e | -l | -r ] (default operation is replace,per 1003.2)      -e     (edit user's crontab)      -l     (list user's crontab)      -r     (delete user's crontab)      -i     (prompt before deleting user's crontsb)      -s     (selinux crontab)基本格式:f1  f2  f3  f4  f5   programf1: minute(0 - 59) //分钟,0-59之间的整数f2: hour(0-23) //小时f3: day(1-31) //日期,如果指定了月份,日期必须正确f4: month(1-12) //月份f5: day of week(1-7) //一周中的日期,也可以用英文的缩写如sun, monprogram: command //表示要执行的命令

测试用例:

0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart

上面的例子表示每星期六的11 : 00 pm重启apache。

* */1 * * * /usr/local/etc/rc.d/lighttpd restart

每一小时重启apache

* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart

晚上11点到早上7点之间,每隔一小时重启apache

0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart

每月的4号与每周一到周三的11点重启apache

0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart

一月一号的4点重启apache

0 7 * * * /bin/ls

每天早上7点执行一次 /bin/ls

0 6-12/3 * 12 * /usr/bin/backup

在 12 月内, 每天的早上 6 点到 12 点中,每隔3个小时执行一次 /usr/bin/backup

原创粉丝点击