Mysql備份腳本

今天主要是給大家寫一個備份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

Mysql備份腳本



分享到:


相關文章: