應用於整個庫的備份。
#!/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