oracle報表自動FTP指令碼
日常工作中每天自動任務跑的各種報表或者備份,需要定期上傳到指定的FTP伺服器的話,就可以用下面的指令碼來實現
AUTHSTATE=compat
export SHELL=/usr/local/bin/bash
export NLS_LANG=American_America.ZHS16GBK
export PATH=/opt/softbench/bin:/usr/bin:/usr/ccs/bin:/usr/contrib/bin:/usr/contrib/Q4/bin:/opt/perl/bin:/opt/ipf/bin:/opt/hparray/bin:/opt/nettladm/bin:/opt/fcms/bin:/opt/sas/bin:/opt/wbem/bin:/opt/wbem/sbin:/usr/bin/X11:/opt/resmon/bin:/opt/perf/bin:/usr/contrib/kwdb/bin:/opt/graphics/common/bin:/opt/prm/bin:/opt/sfm/bin:/opt/hpsmh/bin:/opt/upgrade/bin:/opt/wlm/bin:/opt/gvsd/bin:/opt/sec_mgmt/bastille/bin:/opt/drd/bin:/opt/dsau/bin:/opt/dsau/sbin:/opt/firefox:/opt/gnome/bin:/opt/mozilla:/opt/perl_32/bin:/opt/perl_64/bin:/opt/sec_mgmt/spc/bin:/opt/ssh/bin:/opt/swa/bin:/opt/thunderbird:/opt/gwlm/bin:/usr/contrib/bin/X11:/opt/aCC/bin:/opt/caliper/bin:/opt/cadvise/bin:/opt/sentinel/bin:/opt/langtools/bin:/usr/sbin:/usr/local/sbin:/sbin:/oramem/oracle/product/10.2.0/bin:/usr/local/bin:/home/oracle/bin:/usr/sbin:/usr/local/sbin:/sbin
export BASH_ENV=/home/sunyuke/.bashrc
export ORACLE_HOME=/oramem/oracle/product/10.2.0
export NLS_DATE_FORMAT=YYYYMMDDHH24MISS
export NLSPATH=/usr/lib/nls/msg/%L/%N:/usr/lib/nls/msg/%L/%N.cat
export LD_LIBRARY_PATH=/oramem/oracle/product/10.2.0/lib:/oramem/oracle/product/10.2.0/sqlplus/lib:/usr/lib:/lib:
cd /tmp/kpi_sh/dong/
./get_date.sh
export yestday=`cat yest_date.txt `
tar cvf ./pass9_$yestday ./*_$yestday\000000_`date +%Y%m%d`\000000*.txt
gzip ./pass9_$yestday
userName=username
ftpIP=xx.xx.xx.xx
pwd=passwd
srcDir=/tmp/kpi_sh/dong/
yy=`date +%Y`;mm=`date +%m`;dd=`date +%d`
d0=`echo "$dd"|awk '{printf"%02d\n",$1-1}'`
m0=`echo "$mm"|awk '{printf"%02d\n",$1-1}'`
y0=`echo "$yy"|awk '{printf"%02d\n",$1-1}'`
case $d0 in
00) if [ $m0 = 00 ]; then
ym=`cal 12 $y0|xargs|awk '{print $NF}'`
y0=$y0;m0=12;d0=$ym
else
ym=`cal $m0 $yy|xargs|awk '{print $NF}'`
d0=$ym;m0=$m0;y0=$yy
fi
;;
*) d0=$d0;m0=$mm;y0=$yy;;
esac
destDir=/ETL
fileName1=pass9_$yestday.gz
fileName2=sg2_active_day_$yestday.txt
function ftp_files {
if [ -f ${1}/${2} ];then
echo "===> 檔案傳送到$ftpIP:路徑$3 ...
原檔案目錄: $1
原檔名: $2
目標檔案路徑: $3 "
echo " user $userName $pwd
lcd $1
cd $3
bin
put $2
bye" |ftp -n $ftpIP
else
echo "$fileName not exists"
fi
}
ftp_files $srcDir $fileName1 $destDir
ftp_files $srcDir $fileName2 $destDir
ftp_files $srcDir $fileName3 $destDir
ftp_files $srcDir $fileName4 $destDir
ftp_files $srcDir $fileName5 $destDir
ftp_files $srcDir $fileName6 $destDir
ftp_files $srcDir $fileName7 $destDir
ftp_files $srcDir $fileName8 $destDir
ftp_files $srcDir $fileName9 $destDir
ftp_files $srcDir $fileName10 $destDir
rm -rf ./*_$yestday\000000_`date +%Y%m%d`\000000*.txt
#rm -rf ./pass9_$yestday.gz
感覺蠻有用的,記錄一下。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25618347/viewspace-713834/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 自動ftp指令碼FTP指令碼
- 一個自動ftp的指令碼(轉)FTP指令碼
- 自動生成ASH報告指令碼指令碼
- AWR報告自動生成指令碼指令碼
- 自動生成awr報告指令碼指令碼
- Oracle10g 自動生成AWR報告的指令碼Oracle指令碼
- windows下oracle自動啟動指令碼WindowsOracle指令碼
- FTP自動下載並解壓縮檔案指令碼FTP指令碼
- MySQL自動備份指令碼及異地定時FTPMySql指令碼FTP
- Linux ftp 自動上傳備份檔案指令碼LinuxFTP指令碼
- oracle自動冷備份指令碼Oracle指令碼
- oracle 巡檢指令碼(自動化)Oracle指令碼
- ORACLE自動備份shell指令碼Oracle指令碼
- ftp指令碼FTP指令碼
- awr報告每天自動生成指令碼指令碼
- Oracle10g自動生成AWR分析報告的指令碼Oracle指令碼
- Linux 下oracle自啟動指令碼LinuxOracle指令碼
- oracle 自動冷備份指令碼(轉)Oracle指令碼
- 手工ftp拷貝歸檔及指令碼自動恢復Standby方式FTP指令碼
- 自動ftp,生成control file,sql*load的shell指令碼FTPSQL指令碼
- 自動監控Oracle 表空間資訊併傳送郵件指令碼Oracle指令碼
- oracle自帶指令碼Oracle指令碼
- Oracle ADG 自動切換指令碼分享Oracle指令碼
- Oracle自動備份指令碼的實現Oracle指令碼
- 一個自動生成oracle job的指令碼Oracle指令碼
- linux下新增oracle自啟動指令碼LinuxOracle指令碼
- suse下oracle的自動備份指令碼Oracle指令碼
- Linux使用Shell指令碼實現ftp的自動上傳下載Linux指令碼FTP
- shell指令碼實現自動生成awr報告指令碼
- 【AWR】自動生成AWR報告指令碼以及用法指令碼
- oracle10g_自動啟動服務指令碼Oracle指令碼
- 定時ftp指令碼FTP指令碼
- 實現MySQL表結構自動分割槽指令碼MySql指令碼
- 根據表結構,自動生成匯入指令碼指令碼
- 一個自動生成awr報告的shell指令碼指令碼
- 普通表自動轉化為按月分割槽表的指令碼指令碼
- oracle報表相關指令碼Oracle指令碼
- specjvm自動化指令碼JVM指令碼