执行DB2sql,普通用户可利用crontab定时完成

此文章主要向大家讲述的是用户利用 crontab 定时执行DB2 sql的示例,今天在RHEL 5.3测试了一下,普通用户利用crontab定时执行DB2 sql实际操作情况,走了一些弯路,因为用./可以执行得到正确结果。

成都创新互联公司网站建设公司,提供成都网站制作、成都网站建设、外贸营销网站建设,网页设计,建网站,PHP网站建设等专业做网站服务;可快速的进行网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,是专业的做网站团队,希望更多企业前来合作!

而crontab却执行得不到,很是郁闷,在网上查了半天,有好多说是/usr/bin /crontab的权限问题

可是我在RHEL 5.3查看并一下

 
 
 
  1. -rwsr-sr-x 1 root root 309K 2007-06-22 /usr/bin/crontab

我的权限是没有问题,后来查了很多资料才知道是DB2环境变量的问题,主要是水平不够,意识不高,写下备用

以db2inst1用户登陆linux系统

 
 
 
  1. 1.vi db2inst1cron
  2. * * * * * /home/db2inst1/tongji.sh >>/home/db2inst1/b.txt
  3. 2.crontab db2inst1cron 
  4. 3.vi tongji.sh (777)
  5. #!/bin/bash
  6. #tongji auto
  7. top="20"
  8. qiantian=$top`date -d '2 day ago' +"%y%m%d"`
  9. yesterday=$top`date -d '1 day ago' +"%y%m%d"`
  10. echo "----------------------------------------------"
  11. echo $(date +"%y-%m-%d %H:%M:%S")
  12. echo "-----------------setp1:date--------------------"
  13. echo "qiantian:" $qiantian
  14. echo "yesterday:" $yesterday
  15. echo "-----------------setp2:char---------------------"
  16. #sed -i "s/$qiantian/$yesterday/g" `grep $qiantian -rl /home/db2inst1/tongji_sec`
  17. echo "----------------step3:dbconnect-----------------"
  18. db2 "connect to toolsdb "
  19. echo "1232312312"
  20. db2 -tf /home/db2inst1/tongji_sec/sql_sec.sql
  21. 4.vi sql_sec.sql
  22. insert into liuchao values(10);
  23. a.
  24. [db2inst1@localhost ~]$ ./tongji.sh (正确,是想要结果)
  25. 10-03-09 15:37:27
  26. -----------------setp1:date--------------------
  27. qiantian: 20100307
  28. yesterday: 20100308
  29. -----------------setp2:char---------------------
  30. ----------------step3:dbconnect-----------------
  31. Database Connection Information
  32. Database server = DB2/LINUXX8664 9.5.3
  33. SQL authorization ID = DB2INST1
  34. Local database alias = TOOLSDB
  35. 1232312312
  36. DB20000I The SQL command completed successfully.
  37. [db2inst1@localhost ~]$ 
  38. b.crontab 执行(错误,无数据库操作,不是想要结果)
  39. 10-03-09 15:38:01
  40. -----------------setp1:date--------------------
  41. qiantian: 20100307
  42. yesterday: 20100308
  43. -----------------setp2:char---------------------
  44. ----------------step3:dbconnect-----------------
  45. 1232312312

解决方法

 
 
 
  1. #!/bin/bash
  2. #tongji auto
  3. . /home/db2inst1/sqllib/db2profile #引入db2的环境变量(.后面有空格)
  4. top="20" 

以上的相关内容就是对普通用户利用 crontab定时执行DB2 sql示例的介绍,望你能有所收获。

当前名称:执行DB2sql,普通用户可利用crontab定时完成
文章分享:http://www.gawzjz.com/qtweb/news21/189321.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联