设为首页 收藏本站
查看: 768|回复: 0

【应用】:shell crontab定时生成oracle表的数据到txt文件,并上传到ftp

[复制链接]

尚未签到

发表于 2015-5-27 09:06:03 | 显示全部楼层 |阅读模式
  一、本人环境描述
      1、oracle服务端装在win7 32位上,oracle版本为10.2.0.1.0
      2、Linux为centos6.5 32位,安装在Oracle VM VirtualBox虚拟机上
      3、win7上装有ftp服务
  二、功能实现描述
      用shell的crontab命令定时执行某个.sh文件,此文件的功能已实现生成oracle表的数据到本地txt文件,并上传到ftp,必要时可记录执行日志。
  三、步骤
      1、在centos中安装oracle客户端并配置环境变量
  
      2、在centos中安装ftp客户端
  
      3、编写shell,实现查询oracle数据库表,并写到本地txt文件
  
      4、编写shell,实现上传文件到ftp
  
      5、修改shell,打印执行日志
        打印日志函数如下:    


DSC0000.gif DSC0001.gif


function loginfo {
time_flag=`date +"%Y-%m-%d %H:%M:%S"`
echo "[${time_flag}] [INFO] -- $1"
}
View Code  
  6、所有shell代码
  数据表结构见【编写shell,实现查询oracle数据库表,并写到本地txt文件】
  A、把打印日志函数封装成testLog.sh,代码如下:





#!/bin/bash
######################################################################################
#功能:定义日志打印函数
#用法:loginfo “日志内容”
#版本:0.1      #作者:crazyMyWay      #日期:
#说明:建立初版
######################################################################################
function loginfo {
time_flag=`date +"%Y-%m-%d %H:%M:%S"`
echo "[${time_flag}] [INFO] -- $1"
}
View Code  
  B、通过ftp上传文件代码封装成testFtptool.sh,如下:





#!/bin/bash
######################################################################################
#功能:ftp上传/下载文件
#用法:第一个参数put(上传)还是get(下载)文件,第二个参数为FTP服务器IP,第三、四个参数分别是用户名和密码
#      第五个参数是FTP上的工作目录,第六个是本地的目录,第七个是操作的文件名
#例子:testFtptool.sh put|get ip_address ftp_user ftp_password ftp_dir local_dir filename
#版本:0.1    #作者:crazyMyWay     #日期:
#说明:建立初版
######################################################################################
E_NOTROOT=67
#输出帮助信息,用法:./testFtptool.sh -h
if [ $# -eq 1 -a "$1" = "-h" ]
then
echo "Usage: $0 put|get ip_address ftp_user ftp_password ftp_dir local_dir filename"
echo "Example:
$0 put|get ftp服务ip ftp用户名 ftp密码 ftp目录 本地目录 文件名"
exit $E_NOTROOT
fi
#如果参数不等于7
if [ $# != 7 ]
then
echo "Param error: Usage: $0 put|get ip_address ftp_user ftp_password ftp_dir local_dir filename"
exit $E_NOTROOT
fi
#进行ftp操作,ftp命令解释请查阅相关资料
ftp -v -n

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-71063-1-1.html 上篇帖子: FTP命令详解(转,有整理) 下篇帖子: 让 Serv-U 通过数据库管理 FTP
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表