Oracle 11Gambiampter12C backup script
# automatically delete N-day backup data for multiple user backups on a server
#:: parameter configuration (needs to be initialized by administrator)
# param_oracleServerBin optional directory where Oracle ServerBin resides
# param_LocalNetServicesName required local Net server name (name in tnsnames.ora, not sid)
# param_homeBak_Local optional backup files to local (related to dmp files)
# param_homeBak_Remote optional backup files are copied remotely (related to dmp files)
# param_delFileDay_Local optionally delete local backup N days ago (related to dmp files)
# param_delFileDay_Remote optionally delete remote backup N days ago (related to dmp files)
Echo "="
Export param_homeBak_Local=/opt/backup
Export param_homeBak_Remote=
Export param_delFileDay_Local=
Export param_delFileDay_Remote=
Export param_oracleHome=/data/oracle/product/11.2.0/dbhome_1
Export param_LocalNetServicesName=ORCL
Export User01=NC20181113
Export User02=
Export User03=
Export User04=
Export User05=
Export User06=
Export User07=
Export User08=
Export User09=
Export User10=
Export User11=
Export User12=
Export User13=
Export User14=
Export User15=
Export Pass01=NC20181113
Export Pass02=
Export Pass03=
Export Pass04=
Export Pass05=
Export Pass06=
Export Pass07=
Export Pass08=
Export Pass09=
Export Pass10=
Export Pass11=
Export Pass12=
Export Pass13=
Export Pass14=
Export Pass15=
#:: do not adjust the following
# = Generation date is used for backup
Export CurrentDateTime= `date +% Y% m% d% H% M% S`
# = reset variables
# Home_Backup current sh location
Export Home_Backup=$ (pwd)
Export HomeBak_Local=$Home_Backup
Export HomeBak_Remote=$Home_Backup
If [[$param_homeBak_Local! = "]]; then export HomeBak_Local=$param_homeBak_Local; fi
If [[$param_homeBak_Remote! = "]]; then export HomeBak_Remote=$param_homeBak_Remote; fi
If [[$param_delFileDay_Local= ""]]; then export param_delFileDay_Local=7; fi
If [[$param_delFileDay_Remote= ""]]; then export param_delFileDay_Remote=1; fi
Export HomeBak_KeyName=OracleDb
Export HomeBak_Local=$HomeBak_Local/$HomeBak_KeyName "_ bakLocal"
Export HomeBak_Remote=$HomeBak_Remote/$HomeBak_KeyName "_ bakRemote"
Export homeBak_TimeFolder=$CurrentDateTime "_" $HomeBak_KeyName
Export homeBak_TimeFolder_Local=$HomeBak_Local
Export homeBak_TimeFolder_Remote=$HomeBak_Remote
# = create a folder and delete the backup folder N days ago
# create a folder
Mkdir-p $homeBak_TimeFolder_Local
Mkdir-p $HomeBak_Remote
# Delete files N days ago
Find $homeBak_TimeFolder_Local-mtime + $param_delFileDay_Local-name "*. *"-exec rm-rf {}\
Find $homeBak_TimeFolder_Remote-mtime + $param_delFileDay_Remote-name "*. *"-exec rm-rf {}\
# = backup Oracle
# create a new path + file name
Export FileName_01=$homeBak_TimeFolder_Local/$CurrentDateTime "_" $User01
Export FileName_02=$homeBak_TimeFolder_Local/$CurrentDateTime "_" $User02
Export FileName_03=$homeBak_TimeFolder_Local/$CurrentDateTime "_" $User03
Export FileName_04=$homeBak_TimeFolder_Local/$CurrentDateTime "_" $User04
Export FileName_05=$homeBak_TimeFolder_Local/$CurrentDateTime "_" $User05
Export FileName_06=$homeBak_TimeFolder_Local/$CurrentDateTime "_" $User06
Export FileName_07=$homeBak_TimeFolder_Local/$CurrentDateTime "_" $User07
Export FileName_08=$homeBak_TimeFolder_Local/$CurrentDateTime "_" $User08
Export FileName_09=$homeBak_TimeFolder_Local/$CurrentDateTime "_" $User09
Export FileName_10=$homeBak_TimeFolder_Local/$CurrentDateTime "_" $User10
Export FileName_11=$homeBak_TimeFolder_Local/$CurrentDateTime "_" $User11
Export FileName_12=$homeBak_TimeFolder_Local/$CurrentDateTime "_" $User12
Export FileName_13=$homeBak_TimeFolder_Local/$CurrentDateTime "_" $User13
Export FileName_14=$homeBak_TimeFolder_Local/$CurrentDateTime "_" $User14
Export FileName_15=$homeBak_TimeFolder_Local/$CurrentDateTime "_" $User15
Export ORACLE_HOME=$param_oracleHome
Export PATH=$ORACLE_HOME/bin:$PATH
If [[$User01! = "]] & & [[$Pass01! ="]]; then exp $User01/$Pass01@$param_LocalNetServicesName owner=$User01 file=$FileName_01.dmp log=$FileName_01.log; fi
If [[$User02! = "]] & & [[$Pass02! ="]]; then exp $User02/$Pass02@$param_LocalNetServicesName owner=$User02 file=$FileName_02.dmp log=$FileName_02.log; fi
If [[$User03! = "]] & & [[$Pass03! ="]]; then exp $User03/$Pass03@$param_LocalNetServicesName owner=$User03 file=$FileName_03.dmp log=$FileName_03.log; fi
If [[$User04! = "]] & & [[$Pass04! ="]]; then exp $User04/$Pass04@$param_LocalNetServicesName owner=$User04 file=$FileName_04.dmp log=$FileName_04.log; fi
If [[$User05! = "]] & & [[$Pass05! ="]]; then exp $User05/$Pass05@$param_LocalNetServicesName owner=$User05 file=$FileName_05.dmp log=$FileName_05.log; fi
If [[$User06! = "]] & & [[$Pass06! ="]]; then exp $User06/$Pass06@$param_LocalNetServicesName owner=$User06 file=$FileName_06.dmp log=$FileName_06.log; fi
If [[$User07! = "]] & & [[$Pass07! ="]]; then exp $User07/$Pass07@$param_LocalNetServicesName owner=$User07 file=$FileName_07.dmp log=$FileName_07.log; fi
If [[$User08! = "]] & & [[$Pass08! ="]]; then exp $User08/$Pass08@$param_LocalNetServicesName owner=$User08 file=$FileName_08.dmp log=$FileName_08.log; fi
If [[$User09! = "]] & & [[$Pass09! ="]]; then exp $User09/$Pass09@$param_LocalNetServicesName owner=$User09 file=$FileName_09.dmp log=$FileName_09.log; fi
If [[$User10! = "]] & & [[$Pass10! ="]]; then exp $User10/$Pass10@$param_LocalNetServicesName owner=$User10 file=$FileName_10.dmp log=$FileName_10.log; fi
If [[$User11! = "]] & & [[$Pass11! ="]]; then exp $User11/$Pass11@$param_LocalNetServicesName owner=$User11 file=$FileName_11.dmp log=$FileName_11.log; fi
If [[$User12! = "]] & & [[$Pass12! ="]]; then exp $User12/$Pass12@$param_LocalNetServicesName owner=$User12 file=$FileName_12.dmp log=$FileName_12.log; fi
If [[$User13! = "]] & & [[$Pass13! ="]]; then exp $User13/$Pass13@$param_LocalNetServicesName owner=$User13 file=$FileName_13.dmp log=$FileName_13.log; fi
If [[$User14! = "]] & & [[$Pass14! ="]]; then exp $User14/$Pass14@$param_LocalNetServicesName owner=$User14 file=$FileName_14.dmp log=$FileName_14.log; fi
If [[$User15! = "]] & & [[$Pass15! ="]]; then exp $User15/$Pass15@$param_LocalNetServicesName owner=$User15 file=$FileName_15.dmp log=$FileName_15.log; fi
# = copy to remote
Cp $homeBak_TimeFolder_Local/$CurrentDateTime*.* $homeBak_TimeFolder_Remote
#:
Echo "Bakup completed."