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

数据库
此文章主要向大家描述的是用户利用 crontab 定时执行DB2 sql的示例,以及对其在实际操作中我们大家要用到的实际操作代码的描述。

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

而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.  
  39. b.crontab 执行(错误,无数据库操作,不是想要结果)  
  40. 10-03-09 15:38:01  
  41. -----------------setp1:date--------------------  
  42. qiantian: 20100307  
  43. yesterday: 20100308  
  44. -----------------setp2:char---------------------  
  45. ----------------step3:dbconnect-----------------  
  46. 1232312312  

解决方法

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

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

【编辑推荐】

  1. 对DB2 9.7武器的功能的描述
  2. IBM DB2连接集中器的基本操作原理
  3. DB2 V9.5 新特性有哪些好处?
  4. DB2数据库代理与连接常见问题分析和优化
  5. DB2 batch update注意事项的描述

 

责任编辑:佚名 来源: 51CTO.com
相关推荐

2010-02-23 16:49:40

CentOS tomc

2013-12-23 13:24:47

Linuxauthbind命令

2010-01-05 10:13:57

Ubuntu普通用户市场

2021-02-22 10:32:46

云计算云厂商SaaS

2011-12-12 17:07:43

2011-04-12 10:16:18

UNIX权限

2011-02-24 11:11:14

2009-04-30 17:29:49

LinuxUbuntuScreen

2009-12-10 16:53:53

Linux操作系统

2010-11-04 14:25:19

DB2 SQL文执行计

2010-11-04 13:55:26

DB2 SQL脚本批量

2012-08-02 10:48:03

Windows 8操作系统

2010-11-01 17:24:30

DB2批量执行

2010-09-07 16:11:19

执行DB2命令

2010-11-02 14:08:29

DB2创建用户

2009-11-13 09:40:27

linux定时执行crontab

2010-08-31 16:13:40

DB2SQL函数

2010-08-31 14:01:00

DB2SQL脚本

2010-08-27 14:54:21

DB2批处理脚本

2010-11-04 14:35:38

DB2 sql文执行计
点赞
收藏

51CTO技术栈公众号