應用於整個庫的備份。
#!/bin/bash
PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/sbin
# 數據庫名稱
databases=(myname)
# 備份目錄
basepath='/home/databak/'
cd $basepath
if [ ! -d "$basepath" ]; then
mkdir -p "$basepath"
fi
#遍歷數據庫名稱
for db in ${databases[*]}
do
# 備份數據庫
mysqldump -uuser -ppasswd --database $db > $basepath$db-$(date +%Y%m%d).sql
# 壓縮備份的數據庫,並刪除原文件
tar czvf $db-$(date +%Y%m%d).sql.tar.gz $db-$(date +%Y%m%d).sql --remove-files
# 刪除7天以前的數據庫備份文件
find $basepath -mtime +7 -name "*.sql.tar.gz" -exec rm -rf {} \;
done
