标签:
it/科技linuxcrontab |
---------------------------------------------------------------
---------------------------------------------------------------
为了能够在特定的时间运行作业,需要了解crontab文件每个条目中各个域的意义和格式。
下面就是这些域:
第1列分钟1~5 9
第2列小时1~2 3(0表示子夜)
第3列日1~3 1
第4列月1~1 2
第5列星期0~6(0表示星期天)
第6列要运行的命令
------------------------------------------------------------------
2.crontab的格式
------------------------------------------------------------------
分_时_日_月_星期_要运行的命令
其中"_"表示空格。
crontab条目举例
这里有crontab文件条目的一些例子:
30 21 * * * /apps/bin/cleanup.sh
上面的例子表示每晚的2 1 : 3 0运行/apps/bin目录下的cleanup.sh
45 4 1,10,22 * * /apps/bin/backup.sh
上面的例子表示每月1、10、22日的4:45运行/apps/bin目录下的backup.sh。
10 1 * * 6,0 /bin/find -name "core" -exec rm {} ;
上面的例子表示每周六、周日的1 : 1 0运行一个f i n d命令。
0,30 18-23 * * * /apps/bin/dbcheck.sh
上面的例子表示在每天18:00至23:00之间每隔30分钟运行/apps/bin目录下的dbcheck.sh。
0 23 * * 6 /apps/bin/qtrend.sh
上面的例子表示每星期六的11:00 pm运行/apps/bin目录下的qtrend.sh
------------------------------------------------------------------
3.crontab命令选项
------------------------------------------------------------------
crontab命令的一般形式为:
crontab [-u user] -e -l -r
其中:
-u 用户名。
-e 编辑c r o n t a b文件。
-l 列出crontab文件中的内容。
-r 删除crontab文件。
------------------------------------------------------------------
4.需要注意的地方
------------------------------------------------------------------
在上面的例子中有这样的例子: 30 21 * * * /apps/bin/cleanup.sh
请注意:
a.如果你的脚本执行时与脚本所在路径有关,比如说脚本中有对相对路径文件的操作,那么你应该先cd到脚本所在路径再执行脚本,如下:
30 21 * * *
b.利用crontab执行脚本时,所应用的用户可能不是你登录用到的用户,所以如果你的脚本依赖于一些你的用户登录时export的一些环境变量,比如说java类路径之类的,那么你应该在自己的脚本中先export这些环境变量再执行相关的命令。