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

首頁 > 開發 > PowerShell > 正文

PowerShell 自動備份oracle并上傳到ftp

2020-03-26 19:08:30
字體:
來源:轉載
供稿:網友

一.windows平臺

1.rman自動備份方法

# Author: Edward.Zhou -- <[email protected]># Purpose: Windows平臺下采用PowerShell使用rman自動備份oracle并上傳備份到ftp,并根據日期自動保留所需備份# Created: 2015/8/12 $env:ORACLE_SID="orcl"$env:NLS_LANG="AMERICAN_AMERICA.AL32UTF8" $NOWDATE=Get-Date -UFormat %Y_%m_%d$NOWDATE1=Get-Date -UFormat %Y%m%d$NOWTIME=Get-Date -UFormat %Y%m%d%H%M%S$OLDDATE=((Get-Date).AddDays(-2)).ToString('yyyyMMdd')$FTPOLDDATE=((Get-Date).AddDays(-2)).ToString('yyyy_MM_dd') #建立備份目錄基本環境$BACKUPDIR="c:/bak/rman" if ((Test-Path -Path $BACKUPDIR) -eq $false) {  New-Item -Type directory -Path $BACKUPDIR} #rman備份 Write-Output "run{allocate channel d1 type disk;allocate channel d2 type disk;allocate channel d3 type disk;crosscheck backup;sql 'alter system archive log current';backup as compressed backupset full tag '$env:COMPUTERNAME-$env:ORACLE_SID-$NOWDATE' database format '$BACKUPDIR/db_%d_%T_%s';sql 'alter system archive log current';backup as compressed backupset archivelog all tag '$env:COMPUTERNAME-$env:ORACLE_SID-$NOWDATE' format '$BACKUPDIR/arch_%d_%T_%s' delete all input;backup as compressed backupset current controlfile tag '$env:COMPUTERNAME-$env:ORACLE_SID-$NOWDATE' format '$BACKUPDIR/con_%d_%T_%s';crosscheck archivelog all;delete noprompt expired backup;delete noprompt expired archivelog all;delete noprompt obsolete;release channel d1;release channel d2;release channel d3;}" | Out-File -Encoding Default -Force -FilePath $BACKUPDIR/rmanbak.txt  rman target / cmdfile="$BACKUPDIR/rmanbak.txt" log="$BACKUPDIR/$env:COMPUTERNAME-$env:ORACLE_SID-rmanbak-$NOWTIME.log"Remove-Item -Force -Path $BACKUPDIR/rmanbak.txtRemove-Item -Force -Path $BACKUPDIR/* -Include *$OLDDATE* -Recurse  #上傳備份至FTP方法一Import-Module PSFTP$FTP_HOST="1.1.1.1"$FTP_USERNAME="backup"$FTP_PASSWORD=ConvertTo-SecureString "backup" -AsPlainText -Force$Credentials=New-Object System.Management.Automation.PSCredential($FTP_USERNAME,$FTP_PASSWORD)Set-FTPConnection -Credentials $Credentials -Server ftp://$FTP_HOST -Session rmanbakSession -UsePassive -UseBinary -KeepAlive -ignoreCert$Session=Get-FTPConnection -Session rmanbakSession if ($Session -eq $null) {  Set-FTPConnection -Credentials $Credentials -Server ftp://$FTP_HOST -Session rmanbakSession -UsePassive -UseBinary -KeepAlive -ignoreCert}if ((Get-FTPChildItem -Session $Session -Path / -ErrorAction SilentlyContinue -Filter rmanbak) -eq $null) {  New-FTPItem -Session $Session -Path / -Name "rmanbak"}if ((Get-FTPChildItem -Session $Session -Path /rmanbak -ErrorAction SilentlyContinue -Filter $env:COMPUTERNAME) -eq $null) {  New-FTPItem -Session $Session -Path /rmanbak -Name $env:COMPUTERNAME}if ((Get-FTPChildItem -Session $Session -Path /rmanbak/$env:COMPUTERNAME -ErrorAction SilentlyContinue -Filter $NOWDATE) -eq $null) {  New-FTPItem -Session $Session -Path /rmanbak/$env:COMPUTERNAME -Name $NOWDATE}foreach($Filename in (Get-ChildItem -Path $BACKUPDIR -Recurse -Filter *$NOWDATE1*))  {    Add-FTPItem -Session $Session -Overwrite -BufferSize 102400 -Path /rmanbak/$env:COMPUTERNAME/$NOWDATE -LocalPath $BACKUPDIR/$Filename  }if ((Get-FTPChildItem -Session $Session -Path /rmanbak/$env:COMPUTERNAME -ErrorAction SilentlyContinue -Filter $FTPOLDDATE) -ne $null) {  Remove-FTPItem -Path /rmanbak/$Env:COMPUTERNAME/$FTPOLDDATE -Session $Session -Recurse} #上傳備份至FTP方法二#$FTP_HOST="1.1.1.1"#$FTP_USERNAME="backup"#$FTP_PASSWORD="backup"##Set-Location -Path $BACKUPDIR##Write-Output "open $FTP_HOST#user $FTP_USERNAME $FTP_PASSWORD#bin#mkdir rmanbak#cd rmanbak#mkdir $Env:COMPUTERNAME#cd $Env:COMPUTERNAME#mkdir $NOWDATE#cd $NOWDATE#lcd $NOWDATE#mput *#cd ../$FTPOLDDATE#mdelete *#cd ..#rmdir $FTPOLDDATE#bye" | Out-File -Force -Encoding Default -FilePath $BACKUPDIR/ftp.cfg#ftp -i -n -v -s:$BACKUPDIR/ftp.cfg#Remove-Item -Force -Path $BACKUPDIR/ftp.cfg

2.exp自動備份方法

# Author: Edward.Zhou -- <[email protected]># Purpose: Windows平臺下采用PowerShell使用exp自動備份oracle并上傳備份到ftp,并根據日期自動保留所需備份# Created: 2015/8/8 $env:ORACLE_SID="orcl"$env:NLS_LANG="AMERICAN_AMERICA.AL32UTF8" $NOWDATE=Get-Date -UFormat %Y_%m_%d$NOWTIME=Get-Date -UFormat %Y%m%d%H%M%S$OLDDATE=((Get-Date).AddDays(-1)).ToString('yyyy_MM_dd')$FTPOLDDATE=((Get-Date).AddDays(-7)).ToString('yyyy_MM_dd') #建立備份目錄基本環境$BACKUPDIR="d:/bak/dmp" if ((Test-Path -Path $BACKUPDIR) -eq $false) {  New-Item -Type directory -Path $BACKUPDIR}if ((Test-Path -Path $BACKUPDIR/$NOWDATE) -eq $false) {  New-Item -Type directory -Path $BACKUPDIR/$NOWDATE}if ((Test-Path -Path $BACKUPDIR/$OLDDATE) -eq $true) {  Remove-Item -Recurse -Force -Path $BACKUPDIR/$OLDDATE} #exp備份$USERNAME="system"$PASSWORD="system" exp $USERNAME/$PASSWORD file=$BACKUPDIR/$NOWDATE/$env:COMPUTERNAME-$env:ORACLE_SID-fullbackup_$NOWTIME.dmp log=$BACKUPDIR/$NOWDATE/$env:COMPUTERNAME-$env:ORACLE_SID-fullbackup_$NOWTIME.log full=y direct=y consistent=y buffer=102400 #上傳備份至FTP方法一Import-Module PSFTP$FTP_HOST="1.1.1.1"$FTP_USERNAME="backup"$FTP_PASSWORD=ConvertTo-SecureString "backup" -AsPlainText -Force$Credentials=New-Object System.Management.Automation.PSCredential($FTP_USERNAME,$FTP_PASSWORD)Set-FTPConnection -Credentials $Credentials -Server ftp://$FTP_HOST -Session oradmpSession -UsePassive -UseBinary -KeepAlive -ignoreCert$Session=Get-FTPConnection -Session oradmpSession if ($Session -eq $null) {  Set-FTPConnection -Credentials $Credentials -Server ftp://$FTP_HOST -Session oradmpSession -UsePassive -UseBinary -KeepAlive -ignoreCert}if ((Get-FTPChildItem -Session $Session -Path / -ErrorAction SilentlyContinue -Filter oradmp) -eq $null) {  New-FTPItem -Session $Session -Path / -Name "oradmp"}if ((Get-FTPChildItem -Session $Session -Path /oradmp -ErrorAction SilentlyContinue -Filter $env:COMPUTERNAME) -eq $null) {  New-FTPItem -Session $Session -Path /oradmp -Name $env:COMPUTERNAME}if ((Get-FTPChildItem -Session $Session -Path /oradmp/$env:COMPUTERNAME -ErrorAction SilentlyContinue -Filter $NOWDATE) -eq $null) {  New-FTPItem -Session $Session -Path /oradmp/$env:COMPUTERNAME -Name $NOWDATE}foreach($Filename in (Get-ChildItem -Path $BACKUPDIR/$NOWDATE -Recurse))  {    Add-FTPItem -Session $Session -Overwrite -BufferSize 102400 -Path /oradmp/$env:COMPUTERNAME/$NOWDATE -LocalPath $BACKUPDIR/$NOWDATE/$Filename  }if ((Get-FTPChildItem -Session $Session -Path /oradmp/$env:COMPUTERNAME -ErrorAction SilentlyContinue -Filter $FTPOLDDATE) -ne $null) {  Remove-FTPItem -Path /oradmp/$Env:COMPUTERNAME/$FTPOLDDATE -Session $Session -Recurse} #上傳備份至FTP方法二#$FTP_HOST="1.1.1.1"#$FTP_USERNAME="backup"#$FTP_PASSWORD="backup"##Set-Location -Path $BACKUPDIR##Write-Output "open $FTP_HOST" | Out-File -Append -Force -Encoding Default -FilePath $BACKUPDIR/ftp.cfg #Write-Output "user $FTP_USERNAME $FTP_PASSWORD" | Out-File -Append -Force -Encoding Default -FilePath $BACKUPDIR/ftp.cfg #Write-Output "bin" | Out-File -Append -Force -Encoding Default -FilePath $BACKUPDIR/ftp.cfg #Write-Output "mkdir oradmp" | Out-File -Append -Force -Encoding Default -FilePath $BACKUPDIR/ftp.cfg #Write-Output "cd oradmp" | Out-File -Append -Force -Encoding Default -FilePath $BACKUPDIR/ftp.cfg #Write-Output "mkdir $Env:COMPUTERNAME" | Out-File -Append -Force -Encoding Default -FilePath $BACKUPDIR/ftp.cfg #Write-Output "cd $Env:COMPUTERNAME" | Out-File -Append -Force -Encoding Default -FilePath $BACKUPDIR/ftp.cfg #Write-Output "mkdir $NOWDATE" | Out-File -Append -Force -Encoding Default -FilePath $BACKUPDIR/ftp.cfg #Write-Output "cd $NOWDATE" | Out-File -Append -Force -Encoding Default -FilePath $BACKUPDIR/ftp.cfg #Write-Output "lcd $NOWDATE" | Out-File -Append -Force -Encoding Default -FilePath $BACKUPDIR/ftp.cfg #Write-Output "mput *" | Out-File -Append -Force -Encoding Default -FilePath $BACKUPDIR/ftp.cfg#Write-Output "cd ../$FTPOLDDATE" | Out-File -Append -Force -Encoding Default -FilePath $BACKUPDIR/ftp.cfg#Write-Output "mdelete *" | Out-File -Append -Force -Encoding Default -FilePath $BACKUPDIR/ftp.cfg#Write-Output "cd .." | Out-File -Append -Force -Encoding Default -FilePath $BACKUPDIR/ftp.cfg#Write-Output "rmdir $FTPOLDDATE" | Out-File -Append -Force -Encoding Default -FilePath $BACKUPDIR/ftp.cfg#Write-Output "bye" | Out-File -Append -Force -Encoding Default -FilePath $BACKUPDIR/ftp.cfg#ftp -i -n -v -s:$BACKUPDIR/ftp.cfg#Remove-Item -Force -Path $BACKUPDIR/ftp.cfg

二.Unix平臺

#!/bin/ksh# Author: Edward.Zhou -- <[email protected]># Purpose: 使用exp自動備份oracle并上傳數據到ftp# Created: 2015/8/8 source ~/.profileexport ORACLE_SID=odb1export NLS_LANG=AMERICAN_AMERICA.ZHS16GBKHOSTNAME=`hostname -s`NOWDATE=`date +%Y_%m_%d`NOWTIME=`date +%Y%m%d%H%M%S`OLDDATE=`date +%Y_%m_%d -d '-1 days'`FTPOLDDATE=`date +%Y_%m_%d -d '-7 days'` #建議備份基本目錄環境BACKUPDIR=/tmp/dmp[ -d ${BACKUPDIR} ] || mkdir -p ${BACKUPDIR}[ -d ${BACKUPDIR}/${NOWDATE} ] || mkdir -p ${BACKUPDIR}/${NOWDATE}[ ! -d ${BACKUPDIR}/${OLDDATE} ] || rm -fr ${BACKUPDIR}/${OLDDATE} #創建PIPE管道[ -p /tmp/exp.pipe ] || mknod /tmp/exp.pipe p# if [ ! -p /tmp/exp.pipe ];then  # mknod /tmp/exp.pipe# fi #exp備份USERNAME=backupPASSWORD=backup # echo ${BACKUPDIR}/${NOWDATE}/${HOSTNAME}-${ORACLE_SID}-fullbackup_${NOWTIME}.dmpbzip2 -9 < /tmp/exp.pipe > ${BACKUPDIR}/${NOWDATE}/${HOSTNAME}-${ORACLE_SID}-fullbackup_${NOWTIME}.dmp.bz2 &exp ${USERNAME}/${PASSWORD} file=/tmp/exp.pipe log=${BACKUPDIR}/${NOWDATE}/${HOSTNAME}-${ORACLE_SID}-fullbackup_${NOWTIME}.log full=y direct=y consistent=y buffer=102400 #上傳備份至FTPHOST=1.1.1.1FTP_USERNAME=backupFTP_PASSWORD=backup cd ${BACKUPDIR} ftp -i -n -v <<EOFopen ${HOST}user ${FTP_USERNAME} ${FTP_PASSWORD}binmkdir oradmpcd oradmpmkdir ${HOSTNAME}cd ${HOSTNAME}mkdir ${NOWDATE}cd ${NOWDATE}lcd ${NOWDATE}mput *cd ..cd ${FTPOLDDATE}mdelete .cd ..rmdir ${FTPOLDDATE}byeEOF #清除臨時文件rm -fr /tmp/exp.pipe

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成人国产在线看 | 男人久久天堂 | www.99热精品| 毛片在线免费观看网址 | 久久久一区二区 | 亚洲精品7777 | 双性精h调教灌尿打屁股的文案 | 国产精品久久久久久久久久iiiii | 国产亚洲精品综合一区91555 | 国产毛片毛片 | 72pao成人国产永久免费视频 | 亚洲欧美日韩一区二区三区在线观看 | 91九色电影| 一级毛片免费一级 | 日本在线观看一区二区 | 中文字幕激情 | 91久久久久| 久久精品视频免费 | 成年性羞羞视频免费观看无限 | 福利在线国产 | 久久艹综合 | 国产精品久久久久久久久久三级 | 成年免费视频黄网站在线观看 | 91性视频 | 久久精品国产精品亚洲 | 日日狠狠久久 | 92精品国产自产在线 | 国产一级毛片在线看 | 天堂成人国产精品一区 | h色网站在线观看 | 亚洲第一精品在线 | 欧美a黄 | 黄色免费av | 九色 在线 | 日韩.www| 日本成人在线免费 | 亚洲精品91 | 一级黄片毛片免费看 | 欧美日韩在线免费观看 | 操嫩草 | 久久成人国产精品 |