天天看點

MySQL資料庫備份的shell腳本

本腳本來自有學習阿銘的博文學習:

對與一般網際網路公司而言,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` "