Crontab使用



Crontab使用。

Crontab 的格式说明如下:
* 逗号(‘,’) 指定列表值。如: “1,3,4,7,8″
* 中横线(‘-’) 指定范围值 如 “1-6″, 代表 “1,2,3,4,5,6″
* 星号 (‘*’) 代表所有可能的值

Linux(开源系统似乎都可以)下还有个 “/” 可以用. 在 Minute 字段上,*/15 表示每 15 分钟执行一次. 而这个特性在商业 Unix ,比如 AIX 上就没有.

# Use the hash sign to prefix a comment
# +—————- minute (0 – 59)
# | +————- hour (0 – 23)
# | | +———- day of month (1 – 31)
# | | | +——- month (1 – 12)
# | | | | +—- day of week (0 – 7) (Sunday=0 or 7)
# | | | | |
# * * * * * command to be executed
M: 分钟(0-59)。
H:小时(0-23)。
D:天(1-31)。
m: 月(1-12)。
d: 一星期内的天(0~6,0为星期天)。
cmd要运行的程序,程序被送入sh执行,这个shell只有USER,HOME,SHELL这三个环境变量。
下面是一个例子文件:
#MIN HOUR DAY MONTH DAYOFWEEK COMMAND
#每天早上6点
106* * * date

#每两个小时
0*/2* * * date


#晚上11点到早上8点之间每两个小时,早上部点
0 23-7/2,8* * * date

#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4* mon-wed date

#1月份日早上4点
0 4 1 jan* date
crontab 为什么不能自动执行?

权限和环境变量问题
我在写oracle备份脚本的时候也出现过类似问题
后来声明了一下环境变量就好了
在脚本开头增加一句类似下面的语句
初始化一下改用户的环境变量

source /home/oracle/.bash_profile