`

普通用户利用crontab定时执行db2 sql示例

阅读更多
      今天在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"
 
分享到:
评论

相关推荐

    Linux下定时自动执行Oracle_SQL

    通过上述步骤,我们可以实现在Linux环境下利用Crontab定时执行Oracle SQL脚本,从而达到自动化处理数据的目的。这一技术的应用范围广泛,无论是日常的数据统计、报告生成还是系统维护,都能从中受益。掌握这一技能,...

    易语言 Crontab 定时任务执行模块 v1.2 支持单位秒 也可做计时器源码

    这个易语言 Crontab 定时任务执行模块 v1.2 则是将这种功能移植到了易语言环境中,让开发者能够方便地在易语言程序中实现定时任务的功能。 该模块特别之处在于支持秒级别的精度,这意味着你可以设置更为精确的定时...

    Ubuntu crontab 定时执行php脚本文件

    本文将详细介绍如何在Ubuntu环境下利用Crontab来定时执行PHP脚本。 ##### 1. PHP脚本执行模式 在Ubuntu系统中,PHP有两种主要的安装模式:Apache模块方式和CGI模式。 - **Apache模块方式**:这种方式下,PHP被...

    crontab 定时执行文件详解

    ### Crontab定时执行工具详解 #### 一、Crontab简介 `cron`是Linux系统中一个重要的后台服务程序,用于实现定时任务的自动化执行。通过`cron`,用户可以方便地设置周期性的任务,比如定时备份数据、清理日志文件等...

    shell脚本结合crontab定时导入sql文件

    项目流量过大时,数据新增变更量大,及时入库会出现同时给一张表做新增、修改,从而导致锁表,这时候可以将修改导成sql文件后入库,来缓解数据库压力

    小机环境下设置定时调度DB2存储过程

    为了实现自动化,我们可以利用AIX系统的`crontab`命令来定时调度这些存储过程,以确保在特定时间执行。 首先,我们需要理解`crontab`的工作原理。`crontab`是Unix/Linux系统中用于定时任务调度的一个实用程序。它...

    Centos 7下利用crontab定时执行任务详解

    **CentOS 7下利用crontab定时执行任务详解** 在Linux系统中,`crontab` 是一个非常实用的工具,它允许用户设定周期性的任务自动化执行。在CentOS 7中,我们可以利用 `crontab` 来创建定时任务,这在系统维护和自动...

    crontab定时任务不执行的一些原因总结

    最近在工作中遇到了一些问题,crontab定时任务居然不执行,后来我在网上找的时候发现网上主要说了这5个原因: 1 crond服务未启动 crontab不是Linux内核的功能,而是依赖一个crond服务,这个服务可以启动当然也可以...

    利用Crontab为Linux定时备份Mysql数据库

    总结来说,利用Crontab定时备份MySQL数据库的步骤包括创建备份目录、编写备份脚本、赋予脚本执行权限、编辑Crontab配置以及重启crond服务。通过这种方式,你可以确保在不影响系统正常运行的情况下,定期安全地备份你...

    利用Crontab实现对Oracle数据库的定时备份.rar

    本教程将详细阐述如何利用Crontab来实现Oracle数据库的定时备份。 首先,我们需要理解Oracle数据库的备份类型。Oracle支持多种备份方式,如物理备份(如使用RMAN工具)和逻辑备份(如导出/导入)。在本教程中,我们...

    Linux Crontab 定时任务 命令详解

    Crontab 文件可以由系统管理员或普通用户创建和编辑,每个用户可以建立自己的调度 Crontab。 在 Linux 系统中,Crontab 文件通常存放在 `/etc/crontab` 和 `/var/spool/cron` 目录下。其中,`/etc/crontab` 文件是...

    结合crontab实现数据库定时备份

    用户可以使用`crontab`命令来编辑定时任务列表,通过这个列表,系统会按照设定的时间自动运行指定的命令或脚本。 #### 二、MySQL数据库备份的重要性 对于任何依赖于数据的业务而言,定期备份数据库至关重要。一旦...

    Ubuntu-使用crontab定时任务

    - 如果希望某个脚本被 crontab 执行,确保该脚本具有可执行权限,并且用户有权限执行它。 ```bash chmod +x /home/meng/hello.sh ``` - 也可以设置脚本由特定用户执行: ```bash 3 * * * * root /home/meng/...

    django-crontab 定时执行任务方法的实现

    而django-crontab是基于Django框架的一个扩展,它允许开发者在Django项目中实现定时执行任务的需求。通过使用django-crontab,可以在Django项目中轻松创建和管理cron作业,而无需直接操作Linux系统下的crontab文件。...

    Linux定时脚本crontab中文乱码.docx

    Linux 系统中的定时脚本 crontab 是一个功能强大的工具,允许用户在指定的时间执行特定的命令或脚本。然而,在使用 crontab 执行 jar 文件时,如果输出结果包含中文字符,可能会出现乱码问题。本文将探讨该问题的...

    执行clickhouse的sql文件的脚本,支持定时任务

    执行clickhouse的sql文件的脚本。 ~~~ 脚本执行命令如下: ~~~ sh backup-ch.sh ip port user password db chdir(clickhouse...支持crontab定时调度。 ~~~ 适用于clickhouse-19之后的所有版本。 ~~~ 后期提供免费升级。

    linux中使用crontab定时生成mysql数据库的sql备份压缩gz文件.pdf

    总结起来,这个流程展示了如何在Linux中利用`crontab`定时执行shell脚本,结合`mysqldump`备份MySQL数据库,并通过`gzip`进行压缩,从而实现自动化、安全的数据库备份。同时,通过日志文件可以跟踪备份过程中的任何...

    rsync+crontab定时同步.md

    Linux目录数据定时备份

    DB2自动备份数据库(DB2 MOVE)

    6. 使用LINUX系统的CRONTAB工具来定时执行备份脚本。可以通过crontab -e命令来编辑定时任务,通过crontab -l命令来查看定时任务列表,通过more /var/log/cron命令来查看定时任务执行的日志。 7. 设置定时任务,例如...

Global site tag (gtag.js) - Google Analytics