由于這幾天比較忙,今天才繼續發出這一份實例,這個是我們經常會用的備份對數據庫,但是我本次給出的是對數據庫目錄data進行備份,跟直接備份某一個數據庫還是存在區別的,這個后續會有一個專門的實例發出來,今天就先看下這個案例吧:
#!/bin/env/bash
# 定義參數存時間
DAY=`date +%Y%m%d`
# 查看對應data文件夾大小
SIZE=`du -sh /usr/local/mysql/data | awk ‘{print $1}’`
# 每天備份前先將時間和文件大小寫入信息記錄文件
echo “Date: $DAY” >> /tmp/dbinfo.txt
echo “Data Size: $SIZE” >> /tmp/dbinfo.txt
# 進入到數據所在路徑
if [ -d “/opt/dbbak” ]; then
# 存在情況直接執行壓縮命令
tar zcvPf /opt/dbbak/mysqlbak-${DAY}.tar.gz /usr/local/mysql/data > /dev/null
else
# 不存在的情況下需要先創建
mkdir -p /opt/dbbak
tar zcvPf /opt/dbbak/mysqlbak-${DAY}.tar.gz /usr/local/mysql/data > /dev/null
fi
# 每次完成后清理dbinfo文件
rm -rf /tmp/dbinfo.txt
我們能看到在壓縮tar包的時候參數有一個P,這是因為tar只能壓縮相對路徑,如果要采用絕對路徑就必須加參數P且必須在參數f之前,否則會報錯,大家可以試試,也可以做成定時任務,使用crontab -e ,這個大家可以百度下看看
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。