MySQL 備份所有資料庫

如果需要使用 bash script 一次打包備份所有 MySQL 資料庫, 當然要先安裝 MySQL client 等套件囉!

  • 備份所有資料庫
  • 把備份的 sql 打包起來成 tar.gz 節省空間

可直接用 mysql 還原 DB (粗體部份是要改的)

#!/bin/bash
# backup all databases by Steven (steven@aven-network.com)
export PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin

#備份目錄
WD=/backup/dbs
#MySQL 主機名稱
SQL_H=localhost
#MySQL 帳號
SQL_I=opadmin
#MySQL 密碼
SQL_P=yourpassword

cd ${WD}

_N=`date +%Y%m%d`
mkdir `hostname`_MySQL_Backup_${_N}
cd `hostname`_MySQL_Backup_${_N}
for i in `echo "show databases; " | mysql -u${SQL_I} -p${SQL_P} -h ${SQL_H}`
do
        mysqldump --opt -u${SQL_I} -p${SQL_P} -h ${SQL_H} ${i} > ${i}_${_N}.sql
done
cd ..
tar -zcvf `hostname`_MySQL_Backup_${_N}.tar.gz `hostname`_MySQL_Backup_${_N}
[ $? -eq 0 ] && rm -rf `hostname`_MySQL_Backup_${_N}

Comments are closed.

十月 2019
« 五月    
 123456
78910111213
14151617181920
21222324252627
28293031  

Google ADs