Chinaunix首页 | 论坛 | 博客
  • 博客访问: 172703
  • 博文数量: 40
  • 博客积分: 888
  • 博客等级: 准尉
  • 技术积分: 396
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-01 10:17
文章分类
文章存档

2013年(10)

2012年(10)

2011年(11)

2010年(9)

分类: LINUX

2013-04-03 17:32:13

 虽然关于 Crontab 的介绍到处都是,详细读了一遍这个词条,收获还是有的。Crontab 这个名字来自chronos一个古希腊语, “时间”的意思.(这句话是看到的,哈哈)。

一. Crontab的配置:

    Crontab的配置在网上可以很方便搜到,这里就不说crontab的配置了,但是需要注意一点crontab 只能精确到分钟,不能精确到秒。

二. Crontab 配置任务常见陷阱:

 

1,  创建一条新的crontab任务,时间间隔必须大于2分钟,否则任务将不会被调度到(例如5点30分钟创建一个5:31分中执行的任务,这样到时候该任务是不会执行的,当然第二天以后是会执行的);

2,  crontab执行是的环境变量可以用一个简单的crontab任务测一下

脚本crontabEnv.sh内容如下:

 export > env.txt

创建一个crontab 任务执行一下crontabEnv.sh试一下就知道了。

3,  为什么做crontab环境变量这样一个测试,原因是很多情况下crontab不执行都是环境变量的问题。

最近配置了一个crontab,发行手动可以执行,但是在crontab里面不执行,在网上看了看,都说应该是环境变量的问题,设置了下环境变量就ok了。设置环境变变量有好多种方法.

这里说一下常用的设置方法:第一种,脚本里面增加 export path=$path:/path1;第二种,就是在自己的用户下面的.bash.profile里面增加,然后在脚本里面增加source  用户路径/.bash.profile。第二种情况一般用到使用的环境变量比较多时,或者是自己手动执行脚本可以执行,但是创建成crontab是不执行,如果你也不太清楚自己到底使用了那写换将变量,就可以使用第二种方法,用source  用户路径/.bash.profile。

 

三.Crontab配置的技巧:


1,  准备好需要执行的命令,如果命令有参数,最好使用脚本的方式;

2,  手动测试一下,看是否ok;

3,  配制成crontab ,尽量设置一个尽快能执行的时间(创建和运行时间要大于2分钟)测试一把,尽量把输出重定向到一个文件,方便定位那里有问题,比如把运行结果追加到一个文件>>data.run.log 2>&1  ;

4,  如果有问题,先检测拼写有没有问题,如果检查了半天脚本,发现配置任务是拼写错了,那就不应该了。这种最简单的检查方式就是直接把任务复制一下执行看看。其他的不执行应该就是环境变量的问题了,注意设置环境变量;

5,一定要在任务正确执行至少一次以后在离开。allenquan,本内容来自腾讯内部分享,请勿外传!

阅读(1515) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~