1. 程式人生 > >shell備份msyql資料庫

shell備份msyql資料庫

#!/bin/bash
mysqldump="/usr/local/mysql/bin/mysqldump"
bakuser="root"
passwd='123456'
bakdir="/usr/local/src/backup"
#remote_dir="rsync://10.10.20.100/mysqlbak"
d1=‘data +%F’
d2=’data +%d‘

#定義日誌
exec &> /tmp/mysql_bak.log
echo "mysql bakup begin at 'date'"
#對所有資料庫進行遍歷
for db in db1 db2 db3 db4 db5
do
$mysqldump -u$bakuser -p$passwd $db >$bakdir/$db-$d1.sql
done
對一天前的所有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/$db-$d1.sql $remote_dir/$db-$d2.sql
done
echo "mysql backup end at 'date'"