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

cron on linux (crontab 的用法 总结做个笔记)

?

1. cron 的用途:cron 有很广泛的用途,比如每天的定时备份数据,定时的服务器网络状态,运行状态的检查,定时发送邮件等等。

2. cron:时钟守护进程。cron进程每分钟会扫描crontab,检查crontab中的每一行,如果时间能够匹配,此行中的命令就会执行。

3. cron的使用

(1)编辑器的选择

$ export EDITOR=vi(or nano)

(2)编辑crontab

$ crontab -e

# m h ?dom mon dow ? command(#标识注释)

minute of the hour:分钟(0-59)

hour of the day:时(0-23)

day of the month:日期(1-31)

month of the year:月份(1-12)

day of the week:星期(0-6)

command line:命令

(3)显示crontab内容

$ crontab -l

(4)删除当前用户的crontab

$ crontab -r

或者 此行前加 #

?

4. Crontab Examples

(*) 为值域范围, 第三个 '1-31' (days of the month), 第四个 '1-12' (months of the year), and 第五个 '0-6' (周日0).

?

#每月1号,11号,21号下午10点半运行

30 22 1,11,21 * * /usr/bin/top -n 1 -b -S

#每天中午12点执行

0 12 * * * /usr/bin/top -n 1 -b -S

?

#前五个域值可为:values, lists, ranges, or ranges with step values.

#每天0,6,12,18点执行

0 0,6,12,18 * * * /usr/bin/top -n 1 -b -S

#可简写为:

0 */6 * * * /usr/bin/top -n 1 -b -S

?

#1,4,7,10,13,16,19,22,25,28分钟运行

1-30/3 * * * * /usr/bin/top -n 1 -b -S

?

#周一到周五每天0,6,12,18点执行

0 0,6,12,18 * * 1-5 /usr/bin/top -n 1 -b -S

?

#周一到周五每天0,6,9-15,18点执行

0 0,6,9-15,18 * * 1-5 /usr/bin/top -n 1 -b -S

?

#隔5分钟执行

*/5 * * * * /usr/bin/top -n 1 -b -S

?

#隔一天执行

0 12 */2 * * /usr/bin/top -n 1 -b -S

?

?

5. cron的环境变量设定

Cron 仅仅继承了当前用户的部分环境变量如, HOME, LOGNAME and SHELL.有时候,cron执行失败,可能是由于环境变量的原因。所以尽可能的使用