天天看點

自動備份資料庫

#!/bin/sh

#定義資料庫連接配接字段

db_user=username

db_passwd=passwd

#定義備份目錄,以及備份指令

backup_dir=/opt/bak/local/mysql

date=`date +"%Y%m%d"`

db_host=127.0.0.1

#檢查備份目錄是否存在,若沒存在則建立

test ! -d "$backup_dir/mysql_$date" && mkdir "$backup_dir/mysql_$date/"

#列出所有資料庫

#all_db="$(mysql -u $db_user  -p$db_passwd -Bse 'show databases')"

all_db="$(mysql -u $db_user -p$db_passwd -Bse 'show databases')"

echo $date >> /opt/bak/mysqllog.txt

#循環備份資料庫

for db in $all_db

do

$backup_dir/mysql_$date/$db.sql

         mysqldump -u $db_user -h $db_host -p$db_passwd --single-transaction $bd > $backup_dir/mysql_$date/$db.sql

        zip -r $backup_dir/mysql_$date/$db.zip $backup_dir/mysql_$date/$db.sql

        rm -f $backup_dir/mysql_$date/$db.sql

done

本文轉自 xinsir999 51CTO部落格,原文連結:http://blog.51cto.com/xinsir/1542035,如需轉載請自行聯系原作者