加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

linux 定时运行脚本(crontab命令)

(2007-08-06 19:51:11)
标签:

it/科技

linux

crontab


---------------------------------------------------------------
1.crontab的域
---------------------------------------------------------------

为了能够在特定的时间运行作业,需要了解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 * * *  cd /apps/bin/;  sh cleanup.sh
b.利用crontab执行脚本时,所应用的用户可能不是你登录用到的用户,所以如果你的脚本依赖于一些你的用户登录时export的一些环境变量,比如说java类路径之类的,那么你应该在自己的脚本中先export这些环境变量再执行相关的命令。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有