今天主要是给大家写一个备份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%%" $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