今天在RHEL 5.3测试了一下普通用户利用crontab定时执行db2 sql情况,走了一些弯路,因为用./可以执行得到正确结果,而crontab却执行得不到,很是郁闷,在网上查了半天,有好多说是/usr/bin/crontab的权限问题
可是我在RHEL 5.3查看并一下
-rwsr-sr-x 1 root root 309K 2007-06-22 /usr/bin/crontab
我的权限是没有问题,后来查了很多资料才知道是DB2环境变量的问题,主要是水平不够,意识不高,写下备用
以db2inst1用户登陆linux系统
1.vi db2inst1cron
* * * * * /home/db2inst1/tongji.sh >>/home/db2inst1/b.txt
2.crontab db2inst1cron
3.vi tongji.sh (777)
#!/bin/bash
#tongji auto
top="20"
qiantian=$top`date -d '2 day ago' +"%y%m%d"`
yesterday=$top`date -d '1 day ago' +"%y%m%d"`
echo "----------------------------------------------"
echo $(date +"%y-%m-%d %H:%M:%S")
echo "-----------------setp1:date--------------------"
echo "qiantian:" $qiantian
echo "yesterday:" $yesterday
echo "-----------------setp2:char---------------------"
#sed -i "s/$qiantian/$yesterday/g" `grep $qiantian -rl /home/db2inst1/tongji_sec`
echo "----------------step3:dbconnect-----------------"
db2 "connect to toolsdb "
echo "1232312312"
db2 -tf /home/db2inst1/tongji_sec/sql_sec.sql
4.vi sql_sec.sql
insert into liuchao values(10);
------------------------------------我是分割线---------------------------------------------
a.
[db2inst1@localhost ~]$ ./tongji.sh (正确,是想要结果)
----------------------------------------------
10-03-09 15:37:27
-----------------setp1:date--------------------
qiantian: 20100307
yesterday: 20100308
-----------------setp2:char---------------------
----------------step3:dbconnect-----------------
Database Connection Information
Database server = DB2/LINUXX8664 9.5.3
SQL authorization ID = DB2INST1
Local database alias = TOOLSDB
1232312312
DB20000I The SQL command completed successfully.
[db2inst1@localhost ~]$
b.crontab 执行(错误,无数据库操作,不是想要结果)
----------------------------------------------
10-03-09 15:38:01
-----------------setp1:date--------------------
qiantian: 20100307
yesterday: 20100308
-----------------setp2:char---------------------
----------------step3:dbconnect-----------------
1232312312
------------------------------------解决方法--------------------------------------------
#!/bin/bash
#tongji auto
. /home/db2inst1/sqllib/db2profile #引入db2的环境变量(.后面有空格)
top="20"
分享到:
相关推荐
易语言 Crontab 定时任务执行模块 v1.2 支持单位秒 也可做计时器源码。函数列表[td]。函数详情。@vSpear。
利用系统Crontab来定时执行备份文件,按日期对备份结果进行保存,可以达到备份的目的。本文介绍了利用Crontab为Linux定时备份Mysql数据库的步骤。
项目流量过大时,数据新增变更量大,及时入库会出现同时给一张表做新增、修改,从而导致锁表,这时候可以将修改导成sql文件后入库,来缓解数据库压力
Unix和Linux系统的各个发行版本基本都支持Cron,Cron /Crontab允许我们在设定的时间自动执行或定时执行某个任务,如应用程序或脚本。 许多的php程序员都可以很快完成Web应用的开发,PHP代码的调试也比PERL或C语言...
linux下crontab详解,crontab组成结构,linux下定时备份数据库shell
主要给大家介绍了关于Centos 7下利用crontab定时执行任务的相关资料,文中对crontab进行了详细的介绍,并给出了一些实例代码供大家参考学习,需要的朋友们下面跟着小编一起来学习学习吧。
最近在工作中遇到了一些问题,crontab定时任务居然不执行,后来我在网上找的时候发现网上主要说了这5个原因: 1 crond服务未启动 crontab不是Linux内核的功能,而是依赖一个crond服务,这个服务可以启动当然也可以...
利用Crontab为Linux定时备份Mysql数据库
利用Crontab实现对Oracle数据库的定时备份,很实用的一个教程!
执行clickhouse的sql文件的脚本。 ~~~ 脚本执行命令如下: ~~~ sh backup-ch.sh ip port user password db chdir(clickhouse...支持crontab定时调度。 ~~~ 适用于clickhouse-19之后的所有版本。 ~~~ 后期提供免费升级。
linux中使用crontab定时生成mysql数据库的sql备份压缩gz文件
Linux目录数据定时备份
主要介绍了django-crontab 定时执行任务方法的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
主要给大家介绍了关于crontab定时任务不执行的原因分析与解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
使用crontab定时任务自动执行爬虫程序.rar
cron的配置文件称为“crontab”,是“cron table”的简写。这篇文章主要介绍了Linux下的crontab定时执行任务命令详解,需要的朋友可以参考下
小机环境下设置定时调度DB2存储过程 crontab
结合crontab实现数据库定时备份,备份mysql
本篇文章主要介绍了Linux中crontab定时任务不执行的原因,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧