MySQL資料庫備份的shell指令碼

首席提問官發表於2018-10-18

本指令碼來自有學習阿銘的博文學習:
對與一般網際網路公司而言,MySQL是使用最多的資料庫軟體。其中的資料庫備份是最常做的工作。現MySQL資料庫備份指令碼寫一下:

#!/bin/bash
#用途:MySQL資料庫備份
#作者:Caron maktini
#日期:2018年10月18日
#版本:v0.1

mysqldump="/usr/local/mysql/bin/mysqldump" 
bakuser="backup" 
passwd="2333333"
bakdir="/data/backup"
remote_dir=" rsync: /192.168.1.11/mysqlbak" 
d1=`date +%F` 
d2=`date +%d` 


#定義日誌 
exec &> /tmp/mysql_bak.Iog 

echo "mysql  backup begin at ` date` " 

#對所有資料庫進行遍歷 

for db in db1 db2 db3 db4 db5 
do 
     $ mysqldump  -u(doller符) bakuser  -p(doller符)passwd  (doller符)db>(doller符)bakdir/(doller符)db-(doller符)d1.sql
done 

#對1天前的所有sql檔案壓縮 
find $bakdir/  -type  f -name "*.sql"  -mtime +1 | xargs gzip

#查詢一週以前的老檔案,並刪除 
 find $bakdir/  -type f  -mtime +7  | xargs rm 

#把當天的備份檔案同步到遠端 

for db in db1 db2 db3 db4 db5 
do 
      rsync -a $bakdir/(doller符)db-(doller符)d1.sq1  (doller符)remote_dir/(doller符) db-(doller符)d2.sql
done 

echo  "mysql backup end at `date` " 


相關文章