網頁檔案自動下載入庫指令碼_shell_sqlldr
#一個從網上自動下載指定檔案併入庫的shell指令碼。
#!/bin/bash
# ############################################################################
#
# created by yallonking
#
# 2012-4-2 zxbp.sh
#
# Email:oraking_job@163.com
#
# ############################################################################
ORACLE_SID=m1hf; export ORACLE_SID
ORACLE_BASE=/m1hf; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/oracle; export ORACLE_HOME
PATH=$ORACLE_HOME/bin:$PATH; export PATH
NLS_LANG="Simplified Chinese_china".ZHS16GBK; export NLS_LANG
PATH=$PATH:$HOME/bin
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH
# ############################################################################
#
# created by yallonking
#
# 2012-4-2 zxbp.sh
#
# Email:oraking_job@163.com
#
# ############################################################################
ORACLE_SID=m1hf; export ORACLE_SID
ORACLE_BASE=/m1hf; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/oracle; export ORACLE_HOME
PATH=$ORACLE_HOME/bin:$PATH; export PATH
NLS_LANG="Simplified Chinese_china".ZHS16GBK; export NLS_LANG
PATH=$PATH:$HOME/bin
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH
#獲取檔案
wget -t 5 "http://202.108.253.184/csvsave.asp?spcode=SH816000" -O /opt/wyl/downloads/SH816000_`date +%Y%m%d`.txt -o /opt/wyl/sqlldr/logs/SH816000_`date +%Y%m%d`.log
wget -t 5 "http://202.108.253.184/csvsave.asp?spcode=SH818100" -O /opt/wyl/downloads/SH818100_`date +%Y%m%d`.txt -o /opt/wyl/sqlldr/logs/SH818100_`date +%Y%m%d`.log
wget -t 5 "http://202.108.253.184/csvsave.asp?spcode=SH818200" -O /opt/wyl/downloads/SH818200_`date +%Y%m%d`.txt -o /opt/wyl/sqlldr/logs/SH818200_`date +%Y%m%d`.log
wget -t 5 "http://202.108.253.184/csvsave.asp?spcode=SH818300" -O /opt/wyl/downloads/SH818300_`date +%Y%m%d`.txt -o /opt/wyl/sqlldr/logs/SH818300_`date +%Y%m%d`.log
wget -t 5 "http://202.108.253.184/csvsave.asp?spcode=SH816000" -O /opt/wyl/downloads/SH816000_`date +%Y%m%d`.txt -o /opt/wyl/sqlldr/logs/SH816000_`date +%Y%m%d`.log
wget -t 5 "http://202.108.253.184/csvsave.asp?spcode=SH818100" -O /opt/wyl/downloads/SH818100_`date +%Y%m%d`.txt -o /opt/wyl/sqlldr/logs/SH818100_`date +%Y%m%d`.log
wget -t 5 "http://202.108.253.184/csvsave.asp?spcode=SH818200" -O /opt/wyl/downloads/SH818200_`date +%Y%m%d`.txt -o /opt/wyl/sqlldr/logs/SH818200_`date +%Y%m%d`.log
wget -t 5 "http://202.108.253.184/csvsave.asp?spcode=SH818300" -O /opt/wyl/downloads/SH818300_`date +%Y%m%d`.txt -o /opt/wyl/sqlldr/logs/SH818300_`date +%Y%m%d`.log
#刪除以前的表記錄
sqlplus /nolog<conn username/password
truncate table idx.idxzxbpquoteday_bak;
exit;
eof
sqlplus /nolog<
truncate table idx.idxzxbpquoteday_bak;
exit;
eof
#檔案入庫
file_in=/opt/wyl/downloads/
dos2unix /opt/wyl/downloads/*
file_temp=/opt/wyl/sqlldr/file_temp
for file_a in ${file_in}/*; do
cp $file_a $file_temp/test.csv
filename=`basename $file_a`
sqlldr username/password control=/opt/wyl/sqlldr/zxbp.ctl bad=/opt/wyl/sqlldr/zxbp.bad log=/opt/wyl/sqlldr/test.log direct=true
rm -rf $file_temp/*
mv /opt/wyl/sqlldr/test.log /opt/wyl/sqlldr/logs/$filename
done
rm -rf /opt/wyl/downloads/*
file_in=/opt/wyl/downloads/
dos2unix /opt/wyl/downloads/*
file_temp=/opt/wyl/sqlldr/file_temp
for file_a in ${file_in}/*; do
cp $file_a $file_temp/test.csv
filename=`basename $file_a`
sqlldr username/password control=/opt/wyl/sqlldr/zxbp.ctl bad=/opt/wyl/sqlldr/zxbp.bad log=/opt/wyl/sqlldr/test.log direct=true
rm -rf $file_temp/*
mv /opt/wyl/sqlldr/test.log /opt/wyl/sqlldr/logs/$filename
done
rm -rf /opt/wyl/downloads/*
#取消記錄中多餘引號,並去掉重複記錄行
sqlplus /nolog<conn username/password
truncate table idx.idxzxbpquoteday;
drop table idx.idxzxbpquoteday;
create table idx.idxzxbpquoteday as select trim('"' from secucode) as secucode,
trim('"' from secuname) as secuname,
tradingday,
openprice,
highprice,
lowprice,
closeprice,
turnovervolume,
turnovervalue
from idx.idxzxbpquoteday_bak;
sqlplus /nolog<
truncate table idx.idxzxbpquoteday;
drop table idx.idxzxbpquoteday;
create table idx.idxzxbpquoteday as select trim('"' from secucode) as secucode,
trim('"' from secuname) as secuname,
tradingday,
openprice,
highprice,
lowprice,
closeprice,
turnovervolume,
turnovervalue
from idx.idxzxbpquoteday_bak;
delete from idx.idxzxbpquoteday where rowid in
(select a.rowid from idx.idxzxbpquoteday a,idx.idxzxbpquoteday b
where a.rowid > b.rowid
and a.secucode=b.secucode
and a.secuname=b.secuname
and a.tradingday=b.tradingday
and a.openprice=b.openprice
and a.highprice=b.highprice
and a.lowprice=b.lowprice
and a.closeprice=b.closeprice
and a.turnovervolume=b.turnovervolume
and a.turnovervalue=b.turnovervalue);
commit;
(select a.rowid from idx.idxzxbpquoteday a,idx.idxzxbpquoteday b
where a.rowid > b.rowid
and a.secucode=b.secucode
and a.secuname=b.secuname
and a.tradingday=b.tradingday
and a.openprice=b.openprice
and a.highprice=b.highprice
and a.lowprice=b.lowprice
and a.closeprice=b.closeprice
and a.turnovervolume=b.turnovervolume
and a.turnovervalue=b.turnovervalue);
commit;
SELECT TO_CHAR(SYSDATE,'YYYY/MM/DD HH24:MI:SS') FROM DUAL;
select max(tradingday) as table_last_updateday from idx.idxzxbpquoteday;
exit;
eof
select max(tradingday) as table_last_updateday from idx.idxzxbpquoteday;
exit;
eof
#在crontab中制定此指令碼執行計劃即可!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26143577/viewspace-720227/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- FTP自動下載並解壓縮檔案指令碼FTP指令碼
- 關於使用自動指令碼進行檔案下載指令碼
- 指令碼定期自動刪除ASM下的歸檔檔案指令碼ASM
- 原生JS動態載入JS、CSS檔案及程式碼指令碼JSCSS指令碼
- ios UIWebView 載入網頁、檔案、 htmliOSUIWebView網頁HTML
- 解決“阻塞效應”-解決指令碼檔案下載阻塞網頁渲染的問題指令碼網頁
- shell 備份檔案指令碼+自動清理指令碼
- jQuery實現的動態載入指令碼檔案程式碼例項jQuery指令碼
- 全自動baidu雲盤下載指令碼AI指令碼
- 建庫指令碼下載指令碼
- AIX啟動自動載入檔案系統AI
- 驅動載入到proc檔案下
- 使用CukeTest建立指令碼自動化備份檔案到網盤指令碼
- 配置crontab+ftp自動下載檔案FTP
- 建立自啟動檔案指令碼的例項指令碼
- 拖動滾動條實現網頁內容自動載入程式碼例項網頁
- 下載網頁音原始檔網頁
- PHP檔案的自動載入(autoloading)PHP
- 指令碼的動態載入指令碼
- 網路卡自動啟動指令碼指令碼
- 微服務專案Git倉庫自動化指令碼微服務Git指令碼
- windows下oracle自動啟動指令碼WindowsOracle指令碼
- 【轉載】Oracle Data Guard 備庫 歸檔檔案 刪除指令碼Oracle指令碼
- Oracle 11g 自動刪除ASM歸檔檔案指令碼OracleASM指令碼
- shell指令碼自動清理超過指定大小的檔案指令碼
- Linux ftp 自動上傳備份檔案指令碼LinuxFTP指令碼
- 網頁效能優化之非同步載入js檔案網頁優化非同步JS
- 直播平臺開發,載入網頁、html檔案顯示載入進度網頁HTML
- js動態載入外部css檔案程式碼JSCSS
- 利用 JS 指令碼實現網頁全自動秒殺搶購JS指令碼網頁
- windows下oracle資料庫的exp自動備份指令碼WindowsOracle資料庫指令碼
- 自動化運維-修改主機名&hosts檔案指令碼運維指令碼
- Linux 下oracle自啟動指令碼LinuxOracle指令碼
- windows下rman自動備份指令碼Windows指令碼
- 前端檔案下載和瀏覽器自動嗅探前端瀏覽器
- Python介面自動化——檔案上傳/下載介面Python
- ssh自動輸入密碼指令碼 切換目錄指令碼密碼指令碼
- Swift - 網頁控制元件(UIWebView)載入本地資料,檔案Swift網頁控制元件UIWebView