今天主要是給大家寫一個備份mysql數據庫的腳本,平常再生產環境下應該用的都是備份軟件之類的,但是在本人駐地期間,甲方會要求有本地數據文件備份的,所以當時就寫了一個這個腳本用於備份部分數據庫文件。
今天其實也是為了承接上一篇文章才寫了這個腳本,zabbix使用的過程中,最好也備份一下zabbix的數據庫,就不說多了給大家直接上腳本吧 ,如果大家有那個地方不太懂的可以私密我。
-----------------------------------------------------------------
#!/bin/bash
#備份目錄
back="/home/wln/"
LOG="/home/wln/logs/"
#用戶名
USER="root"
#密碼
PASSWD="zabbix"
#主機名或ip
HOST="localhost"
#時間參數
time=`date +"%Y-%m-%d %H:%M:%S"`
echo -e "\\033[34m ***********backup***********\\033[0m"
b=''
i=0
while [ $i -le 100 ]
do
printf "Please wait...[%-50s]%d%%\\r" $b $i
sleep 0.1
i=`expr 2 + $i`
b=#$b
done
[ ! -d $backup ] && mkdir -p $backup || cd "$backup" >/dev/null 2>&1
mysqldump -u$USER -p$PASSWD -h$HOST -A -B -R -F --lock-all-tables >/home/wln/zabbix-$time.dump
echo -e "\\033[35m##You can query log in $LOG##\\033[0m"
if [[ $? == 0 ]];then
echo -e "\\033[35m##backup successful in $backup##\\033[0m"
else
echo -e "\\033[35m##backup failed in $backup##\\033[0m"
fi
-------------------------------------------------------------------------
接下來是一些注意的事項,給大家也一一列出來了,可以根據實際情況使用
1,腳本隨便放在哪裡都可以 推薦放在家目錄中/root
2.備份目錄需要修改一下 修改到存儲空間足夠多的目錄下 推薦 df -h 查看一下
3,給執行權限,chmod +x /root/mysqldump
4,推薦寫到定時任務裡
crontab -e
0 3 * * 7 sh /root/mysqldump
[root@zabbix-server ~]# systemctl enable crond
[root@zabbix-server ~]# systemctl restart crond
閱讀更多 奔跑在路上的wLn 的文章