使用該腳本之前,要在需要備份的機器上創建 /home/ba看中ckup 目錄 安裝ftp命令
yum install ftp -y #ce校得ntos
apt-get install ftp -y #debian 鄉近ubuntu
mkdir /home/backup
在備份機器上創建存放備份文件的目錄,得在ftp上事(shì)先創建兒公。 可以配合cron自動執行備份道很,例如(每天淩晨一點自動執行備份腳本):
00 1 * * * bash /root/backup電物.sh
#!/bin/bash
#你要修改的地方從這(zhè)裡(lǐ)開(kāi)始地新
MYSQL_USER=root #mysql用戶名
MYSQL_PASS=eqblog.com #mysql密碼 #數資農據庫發(fā)送到(dào)的郵箱
FTP_USER=yan #ftp用戶名
FTP_PASS=eqblog.com #麗些ftp密碼
FTP_IP=ftp.eqblog.com #ftp地址
FTP_backup=sql #ftp上存放備份文件的目錄,這(zhè)聽這個要自己得ftp上面(miàn)建的
WEB_DATA=/data/wwwroot #要備份的女亮網站數據
#你要修改的地方從這(zhè)裡(lǐ)結作照束
#定義數據庫的名字和舊數據庫的名字
DataBakName=Data_$(date +&q厭船uot;%Y%m%d").tar.gz
WebBakName=Web_$(date +%姐理Y%m%d).tar.gz
OldData=Data_$(date -d話東 -5day +"%Y%m%d").tar.gz
OldWeb=Web_$(date -謝器d -5day +"%Y%m%d").tar.gz
#删除本地3天前的數據
rm -rf /home/backup/D了月ata_$(date -d -動技3day +"%Y%m%d").問火tar.gz /home/backup/Web_$(date -d -3da票子y +"%Y%m%d").tar.gz
cd /home/backup
#導出數據庫,一個數據庫一個壓縮文件
for db in `/usr/local/mysql/bin地唱/mysql -u$MYSQL_USER -p市亮$MYSQL_PASS -B -N -嗎熱e 'SHOW DAT亮冷ABASES' | xarg黃市s`; do
(/usr/local/mysql/那公bin/mysqldump -u$MYSQL_USER -p$MY內北SQL_PASS ${db} | 匠內gzip -9 - > ${db}.sql.g農火z)
done
#壓縮數據庫文件為一個文件
tar zcf /home/backup/$DataBakNa美農me /home/backup/*.sql體舞.gz
rm -rf /home/backup/*.sql.gz
#壓縮網站數據
tar zcf /home/ba紙間ckup/$WebBakName $WEB_DATA
#上傳到(dào)FTP空間,删除FTP空間又外5天前的數據
ftp -v -n $FTP_IP <&匠司lt; END
user $FTP_USER $FTP_PASS
type binary
cd $FTP_backup
delete $OldData
delete $OldWeb
put $DataBakName
put $WebBakName
bye
END
0592-8833123
0592-8399399