linux 将远程mysql复制,在线备份MySQL及远程copy到远程备份服务器shell脚本
該腳本實現了以下幾點功能:
1、在線備份mysql數據庫;
2、將備份的日志存入日志文件;
3、壓縮數據備份文件;
4、將壓縮后的文件遠程ftp到備份服務器;
5、刪除本地備份超過7天的數據主要是防止因備份導致生產服務器磁盤空間的非正常增長帶來性能瓶頸問題。
具體實現shell如下所示:
#!/bin/sh
#---------------------------------------------------------
# scriptname: erpbackup.sh
# version: 1.0 for linux
# method: backup mysqldb
# author: fengzhanhai
# history: create program V1.1 20110429 by Fengzhanhai
UserName='root'
AdminPwd='passw0rd'
DbName=erp
BakDir=/home/imu/db-backup/***back
LogFile=/home/imu/db-backup/***back/mysqlbak.log
DATE=`date +%Y%m%d%H%M`
DumpFile=***data$DATE.sql
GZDumpFile=$DumpFile.tgz
FtpServer=10.19.98.235
FtpTargetPath=/erp_backup/mysql
#main---------------------------------------------------------
echo $(date +"%y-%m-%d %H:%M:%S") backup begin >> $LogFile
cd $BakDir
#備份當天文件
/usr/local/mysql/bin/mysqldump -u$UserName -p$AdminPwd $DbName > $DumpFile
echo $(date +"%y-%m-%d %H:%M:%S") Dump Done >> $LogFile
#tar壓縮文件
tar czvf $GZDumpFile $DumpFile >> $LogFile
#rm -f $DumpFile
echo $(date +"%y-%m-%d %H:%M:%S") $GZDumpFile compress done >> $LogFile
#上傳到ftp服務器
ftp -v -n $FtpServer << END
user databack passw0rd
bin
cd $FtpTargetPath
put $GZDumpFile
bye
END
echo $(date +"%y-%m-%d %H:%M:%S") ftp $GZDumpFile compress done >> $LogFile
rm -f $GZDumpFile
#刪除當前目錄下7天前的文件備份文件
find $BakDir -name "***data*" -mtime +7 -exec ?rm {} \;
echo $(date +"%y-%m-%d %H:%M:%S") delete old file done >> $LogFile
#驗證結果
ls -al $DumpFile >> $LogFile
總結
以上是生活随笔為你收集整理的linux 将远程mysql复制,在线备份MySQL及远程copy到远程备份服务器shell脚本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一加 100W 双口超级闪充充电器青松色
- 下一篇: 苹果面临史无前例的高管离职潮,短短半年时