麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 服務器 > Ftp服務器 > 正文

【應用】:shell crontab定時生成oracle表的數據到txt文件,并上傳到ftp

2024-09-09 20:58:44
字體:
來源:轉載
供稿:網友
【應用】:shell crontab定時生成Oracle表的數據到txt文件,并上傳到ftp

一、本人環境描述 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,打印執行日志   打印日志函數如下:    

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 -hif [ $# -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_NOTROOTfi#如果參數不等于7if [ $# != 7 ]then  echo "Param error: Usage: $0 put|get ip_address ftp_user ftp_password ftp_dir local_dir filename"  exit $E_NOTROOTfi#進行ftp操作,ftp命令解釋請查閱相關資料ftp -v -n <<!open $2 21user $3 $4PRomptepsv4 offcd $5binlcd $6$1 $7quit!
View Code

    C、主要代碼testStudent.sh,如下:

#!/bin/bash#######################################################################################功能:從oracle中查詢數據(t_student),并寫到txt文件中,以student_yyyymmdd.txt命名,#      最后上傳到ftp#用法:定時調度執行,每天凌晨2點執行(或直接執行)#      注意修改:user/password@service、#      引入testLog.sh和testFtptool.sh的路徑、#      ftp-ip、ftp-username、ftp-password、ftp上傳目錄、本地目錄##版本:0.1      #作者:crazyMyWay      #日期:2015-03-29#說明:建立初版#######################################################################################加入用戶環境變量,如果不執行這句,那么在用cron命令時,#不會自動加載用戶的環境變量,如果用到sqlplus之類命令,因此會出錯. ~/.bash_profile#定義文件后綴名稱yyyymmddfilename_postfix=`date +"%Y%m%d"`#定義相關變量oracle_user="centos"oracle_pass="centos"oracle_id="win7orcl"current_file_dir="/ljxd/shell-demo/oracle/"current_file_name="student_${filename_postfix}.txt"common_file_dir="/ljxd/shell-demo/oracle/"ftp_ip="192.168.56.101"ftp_user="student"ftp_pass="student"ftp_upload_path="/student"#引入log文件. ${common_file_dir}testLog.shloginfo "generate data start........"#連接到oracle,設置相關參數,并輸出數據到txt文件sqlplus -s ${oracle_user}/${oracle_pass}@${oracle_id} <<EOF >${current_file_dir}${current_file_name}set pages 0set feed offset heading offset feedback offset verify offset linesize 1000select t.id||'###'||t.name||'###'||to_char(t.birthday,'yyyy-mm-dd hh24:mi:ss') from t_student t;EOF#推數據到ftploginfo "transfer data to ftp.......". ${common_file_dir}testFtptool.sh put ${ftp_ip} ${ftp_user} ${ftp_pass} ${ftp_upload_path} ${current_file_dir} ${current_file_name}#endloginfo "generate data end........."
View Code

    注意目錄結構,修改相關參數,運行./testStudent.sh即可  

    測試結果如下:

      

7、crontab命令實現定時任務

    crontab -e|-l|-r

    -e|-l|-r分別為編輯、查看、刪除定時任務,每個用戶下會有一個crontab配置文件,詳細說明請查閱相關資料。

    每天凌晨2點定時調度執行,并把輸出日志追加到student.log文件中,crontab命令如下:

    

    保存并退出編輯器,定時器立即生效。    

    


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 精品一区二区6 | 久久精品re | 亚洲婷婷日日综合婷婷噜噜噜 | 大西瓜永久免费av在线 | 久久一区三区 | 免费一级欧美大片视频 | 午夜精品成人 | 久久亚洲春色中文字幕久久 | 成人毛片免费视频 | 国产一区二区三区撒尿在线 | 大学生一级毛片在线视频 | 国产精品视频一区二区三区四区国 | 成人在线视频黄色 | 欧美 日韩 三区 | 国产精品久久久久久久久久大牛 | 国产福利视频在线观看 | 成人男女啪啪免费观看网站四虎 | 最新午夜综合福利视频 | 欧美中文字幕一区二区 | 天天色综合2 | 日韩做爰视频免费 | 国产一区精品视频 | 久久国产不卡 | 中文字幕在线免费播放 | 久久精品中文字幕一区二区三区 | 99精品电影| 欧美77| 久久久久一区二区三区 | 成人一区二区在线观看视频 | 国产美女视频一区二区三区 | 亚洲一区在线免费视频 | 国产精品视频自拍 | 亚洲精品一区中文字幕 | 综合网日日天干夜夜久久 | 永久av在线免费观看 | 久久久久久久久亚洲精品 | 成人超碰97 | 看国产毛片 | 91精品久久久久久久久久久 | 中文字幕h | wwwxxx国产 |