shell實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)的備份
2016-01-15 16:03:42
12682
新建backup.sh文件
#!/bin/bash
databases=(db1 db2 db3) # 要備份的數(shù)據(jù)庫(kù)名,多個(gè)數(shù)據(jù)庫(kù)用空格分開(kāi)
path=/home/mysqlbakup/ # 備份文件要保存的目錄
if [ ! -d "$path" ]; then
mkdir -p "$path"
fi
for db in ${databases[*]} # 循環(huán)databases數(shù)組
do
# 備份數(shù)據(jù)庫(kù)生成SQL文件
/bin/nice -n 19 /usr/bin/mysqldump -uroot -ppassword --database $db > $path$db-$(date +%Y%m%d).sql
# 將生成的SQL文件壓縮
/bin/nice -n 19 tar zcvf $path$db-$(date +%Y%m%d).sql.tar.gz $path$db-$(date +%Y%m%d).sql
# 刪除7天之前的備份數(shù)據(jù)
find $path -mtime +7 -name "*.sql.tar.gz" -exec rm -rf {} ;
done
# 刪除生成的SQL文件
rm -rf $basepath/*.sql
注:
1./bin/nice -n 19 執(zhí)行命令的級(jí)別
2.需要填寫(xiě)mysql的root密碼
3.crontab -e 進(jìn)行編輯
crontab -l 顯示當(dāng)前crontab中的內(nèi)容
例如: 每3分鐘執(zhí)行一次
會(huì)員登錄
賬號(hào)登錄還沒(méi)有賬號(hào)?立即注冊(cè)