#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
2 3 * * * root /usr/local/bin/freshclam
#0 1 * * * root /postbin/scanlog.sh
0 0-23/1 * * * root killall /root/pop;/root/pop
0 2 * * * root /postbin/auto_update.php
0 0 * * * root /postbin/run_plan.sh
22 4 * * 0 root /etc/rc.d/init.d/saslauthd stop;/usr/sbin/saslauthd -r -a pam -n 0
0 0 * * * root php -q /postbin/time_del.php
0 0-23/1 * * * root php -q /postbin/check_hw.php
0 0 * * * root find /mail -name quotawarn -type f -exec rm {} \;

如上即是使用方法。


详解:

crontab 基本上有兩种建立例行性命令的方式:
一种是针对所有使用者,可以藉由 crontab -e 的指令来下达工作排程;
另一种是针对系统管理员,你可以直接修改 /etc/crontab 这个文件,来直接定时执行。

假如你需要在每天的正午 12:00 发一封信给你自己,
#crontab -e
进入 vi 的编辑画面来编辑你的例行性命令,输入如下语句
0 12 * * * mail xxx@163.com < /home/king/test.txt

以上有5个数字,分别代表的意思是:
    分(0-59)
小时(0-23)
日期(1-31)
月份(1-12)
周(0-6)
另外,如果是[ * ]的时候,代表所有数字都适用的意思。

所以,以上的语句就是不论何月、何日、星期几的 12 点 0 分时,执行 mail xxx@163.com < /home/king/test.txt 这个命令。

例1:
给你朋友发邮件,5月1号23:59时发送,使用:
# crontab -e 59 23 1 5 * mail xxx@163.com < /home/king/lover.txt

例2:
每隔6分钟检查相关文件,使用:
# crontab -e */6 * * * * /home/king/test.sh

删除例行性命令:
# crontab -r 就删除了