Sybase備份指令碼 btmbfe_sybase_backup.sh
#!/bin/sh
BACKUPDIR=/sybase/dumpdb
log=$BACKUPDIR/dbbackup.log
ddays=3 #3天前的檔案刪除
Date=`date +%Y%m%d`
dayDir=${BACKUPDIR}/MBFEDB_BT_${Date}
tarfile=MBFEDB_BT_${Date}.tar
zfile=${tarfile}.Z
echo "--------------------------------------------------------" >> $log
nowtime=`date +"%Y%m%d %H:%M:%S"`
echo "--> 1-1 $nowtime backup begin" >> $log
if [ -d $dayDir ]
then
echo "--> 1-2 Dir $dayDir exist!" >> $log
else
mkdir $dayDir
echo "--> 1-3 Create dir $dayDir ok!" >> $log
fi
#-- dump --#
DBName='MBFEWKDB MBFEHISDB DIRWAYSDB DISWAYSDB'
chown -R sybase $dayDir
for db in $DBName
do
nowtime=`date +"%Y%m%d %H:%M:%S"`
su - sybase -c "isql -Usa -PBtsa1@ <
dump database $db to '$dayDir/${db}_${Date}.dump'
go
dump transaction $db with truncate_only
go
!"
echo "--> 2 $nowtime $db dump " >> $log
done
#-- 檢查 dump 備份檔案 --#
flag=0
for db in $DBName
do
if [ -f $dayDir/${db}_${Date}.dump ]
then
echo "--> 2-1 $nowtime $db dump ok (flag=$flag)" >> $log
else
flag=`expr $flag + 1`
echo "--> 2-2 $nowtime $db dump fail (flag=$flag)" >> $log
fi
done
if [ "$flag" != "0" ]
then
echo "--> 2-3 backup fail (flag=$flag) " >> $log
echo "--------------------------------------------------------\n\n" >> $log
exit 2
fi
#-- 打包 --#
nowtime=`date +"%Y%m%d %H:%M:%S"`
echo "--> 3-1 $nowtime tar begin" >> $log
tar -cf $BACKUPDIR/$tarfile $dayDir
res=$?
if [ "$res" = "0" ]
then
echo "--> 3-2 tar ok" >> $log
else
echo "--> 3-3 tar fail(res=$res)" >> $log
echo "--------------------------------------------------------\n\n" >> $log
exit 3
fi
#-- 壓縮 --#
nowtime=`date +"%Y%m%d %H:%M:%S"`
echo "--> 4-1 $nowtime compress begin" >> $log
compress $BACKUPDIR/$tarfile
res=$?
if [ "$res" = "0" ]
then
echo "--> 4-2 compress ok (res=$res)" >> $log
cd $BACKUPDIR
rm -rf $dayDir
else
echo "--> 3-3 compress fail (res=$res)" >> $log
echo "--------------------------------------------------------\n\n" >> $log
exit 4
fi
echo "--> 5 Delete files of $ddays days before " >> $log
find $BACKUPDIR -mtime +$ddays -name "MBFEDB_BT_*.Z" >> $log
find $BACKUPDIR -mtime +$ddays -name "MBFEDB_BT_*.Z" | xargs -i /bin/rm {}
ftp -i -n 10.8.7.100 <
user coredb coredb
bin
put $zfile
bye
!
res=$?
echo "--> 6 backup success (res=$res)" >> $log
echo "--------------------------------------------------------\n\n" >> $log
exit 0
BACKUPDIR=/sybase/dumpdb
log=$BACKUPDIR/dbbackup.log
ddays=3 #3天前的檔案刪除
Date=`date +%Y%m%d`
dayDir=${BACKUPDIR}/MBFEDB_BT_${Date}
tarfile=MBFEDB_BT_${Date}.tar
zfile=${tarfile}.Z
echo "--------------------------------------------------------" >> $log
nowtime=`date +"%Y%m%d %H:%M:%S"`
echo "--> 1-1 $nowtime backup begin" >> $log
if [ -d $dayDir ]
then
echo "--> 1-2 Dir $dayDir exist!" >> $log
else
mkdir $dayDir
echo "--> 1-3 Create dir $dayDir ok!" >> $log
fi
#-- dump --#
DBName='MBFEWKDB MBFEHISDB DIRWAYSDB DISWAYSDB'
chown -R sybase $dayDir
for db in $DBName
do
nowtime=`date +"%Y%m%d %H:%M:%S"`
su - sybase -c "isql -Usa -PBtsa1@ <
dump database $db to '$dayDir/${db}_${Date}.dump'
go
dump transaction $db with truncate_only
go
!"
echo "--> 2 $nowtime $db dump " >> $log
done
#-- 檢查 dump 備份檔案 --#
flag=0
for db in $DBName
do
if [ -f $dayDir/${db}_${Date}.dump ]
then
echo "--> 2-1 $nowtime $db dump ok (flag=$flag)" >> $log
else
flag=`expr $flag + 1`
echo "--> 2-2 $nowtime $db dump fail (flag=$flag)" >> $log
fi
done
if [ "$flag" != "0" ]
then
echo "--> 2-3 backup fail (flag=$flag) " >> $log
echo "--------------------------------------------------------\n\n" >> $log
exit 2
fi
#-- 打包 --#
nowtime=`date +"%Y%m%d %H:%M:%S"`
echo "--> 3-1 $nowtime tar begin" >> $log
tar -cf $BACKUPDIR/$tarfile $dayDir
res=$?
if [ "$res" = "0" ]
then
echo "--> 3-2 tar ok" >> $log
else
echo "--> 3-3 tar fail(res=$res)" >> $log
echo "--------------------------------------------------------\n\n" >> $log
exit 3
fi
#-- 壓縮 --#
nowtime=`date +"%Y%m%d %H:%M:%S"`
echo "--> 4-1 $nowtime compress begin" >> $log
compress $BACKUPDIR/$tarfile
res=$?
if [ "$res" = "0" ]
then
echo "--> 4-2 compress ok (res=$res)" >> $log
cd $BACKUPDIR
rm -rf $dayDir
else
echo "--> 3-3 compress fail (res=$res)" >> $log
echo "--------------------------------------------------------\n\n" >> $log
exit 4
fi
echo "--> 5 Delete files of $ddays days before " >> $log
find $BACKUPDIR -mtime +$ddays -name "MBFEDB_BT_*.Z" >> $log
find $BACKUPDIR -mtime +$ddays -name "MBFEDB_BT_*.Z" | xargs -i /bin/rm {}
ftp -i -n 10.8.7.100 <
user coredb coredb
bin
put $zfile
bye
!
res=$?
echo "--> 6 backup success (res=$res)" >> $log
echo "--------------------------------------------------------\n\n" >> $log
exit 0
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22661144/viewspace-1430690/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 備份指令碼指令碼
- mysql備份指令碼MySql指令碼
- ORACLE備份指令碼Oracle指令碼
- rman 備份指令碼指令碼
- 自動備份指令碼指令碼
- windows mysqldump備份指令碼WindowsMySql指令碼
- 兩套mysql備份指令碼MySql指令碼
- 資料庫備份指令碼資料庫指令碼
- expdp 邏輯備份指令碼指令碼
- Sybase 常用指令
- MySQL中binlog備份指令碼分享MySql指令碼
- ORACLE常用定時備份指令碼Oracle指令碼
- 分享Oracle Rman的備份指令碼Oracle指令碼
- 使用shell 指令碼備份資料指令碼
- oracle自動冷備份指令碼Oracle指令碼
- MySQL:Windows下分庫備份指令碼MySqlWindows指令碼
- windows 全量+增量備份指令碼batWindows指令碼BAT
- Mysql定時備份資料指令碼MySql指令碼
- 檢查備份情況的指令碼指令碼
- 【MySQL】Xtrabackup備份及恢復指令碼MySql指令碼
- mysqldump壓縮備份匯出匯入(含定期備份shell指令碼)MySql指令碼
- Windows環境PgSql自動備份指令碼WindowsSQL指令碼
- shell 備份檔案指令碼+自動清理指令碼
- windows 批處理備份目錄指令碼Windows指令碼
- MySQL備份指令碼,應該這麼寫MySql指令碼
- 【BASIS】HANA備份指令碼,Catalog自動清理指令碼
- linux mysql定時備份指令碼記錄LinuxMySql指令碼
- MySQL資料庫備份的shell指令碼MySql資料庫指令碼
- oracle資料庫使用rman備份指令碼Oracle資料庫指令碼
- Liunx備份mysql資料庫的shell指令碼MySql資料庫指令碼
- KOSQL Server2019資料庫備份與還原指令碼(批量備份)zrbSQLServer資料庫指令碼
- Mysqldump備份說明及資料庫備份指令碼分享-運維筆記MySql資料庫指令碼運維筆記
- mysql容器的定時備份指令碼,有二種方法,備份好後打包傳送到遠端備份主機MySql指令碼
- 【DATAPUMP】Oracle資料泵定時備份刪除指令碼Oracle指令碼
- Linux系統配置檔案簡易shell備份指令碼Linux指令碼
- MySQL自動備份指令碼30天自動刪除MySql指令碼
- Shell多執行緒備份資料庫的指令碼執行緒資料庫指令碼
- SQL Server2019資料庫備份與還原指令碼,資料庫可批量備份SQLServer資料庫指令碼
- [SQLServer]NetCore中將SQLServer資料庫備份為Sql指令碼SQLServerNetCore資料庫指令碼