zabbix LTS 4备份

zabbix LTS 4备份

备份mysql数据库

核心命令:

mysqldump -h127.0.0.1 -P3306 -uroot -pxxx zabbix > /home/backupZabbix/db/2023_09_08.sql

shellScript:

#!/bin/bash
. /etc/profile
. ~/.bash_profile


dateBackup=$(date +%Y-%m-%d_%H:%M:%S)
dir="/home/backupZabbix/db/"
if [ ! -d "${dir}" ]
then
        mkdir ${dir}
        echo "创建文件夹成功"
else
        echo "文件夹已经存在"
fi
# 需要备份的数据库名
dbNames=(zabbix)

for dbName in ${dbNames[@]}
do
		echo "-----------------> 备份 ${dbName} 数据库 <-----------------" >> /home/backupZabbix/log/${dateBackup}.log
		# 备份MySQL, 1>> 为正常输出,2>> 为错误或者警告输出到日志文件
        mysqldump -uroot -pxxx ${dbName} 1>> ${dir}/${dateBackup}_zabbix.sql 2>> /home/backupZabbix/log/${dateBackup}.log
        # 压缩文件 解压为 gzip -d mybatis.sql.gz
        gzip ${dir}/${dateBackup}_zabbix.sql
done

echo -e " \n ----------------> 删除过期文件 <---------------------------" >> /home/backupZabbix/log/${dateBackup}.log
# 判断文件夹数量是否大于7,防止程序意外停止,删除所有备份
dirCount=`ls -l /home/backupZabbix/db/|grep "^d"|wc -l`
if [ ${dirCount} -gt 7 ]
then
	# 删除超过七天的 sql 备份
	find /home/backupZabbix/db -mtime +6 -name "*_*" -exec rm -rf {} \;
	#删除超过七天的 日志
	find /home/backupZabbix/db -mtime +6 -name "*.log" -exec rm -rf {} \;
	echo -e " 删除过期文件成功" >> /home/backupZabbix/log/${dateBackup}.log
else 
	echo "删除过期文件失败,文件数量小于 7 " >> /home/backupZabbix/log/${dateBackup}.log
fi

sh xxx.sh运行

定时任务:

crontab -e
0 01 * * * . /etc/profile;/bin/sh /home/backupZabbix/backupMysqlZabbix.sh

还原zabbix

安装mysql

yum install MariaDB-server

还原

mysql -u root -p

create database zabbix character set utf8 collate utf8_bin; create user zabbix@localhost identified by ‘xxx’; grant all privileges on zabbix.* to zabbix@localhost; quit;

gunzip < all_abc.sql.gz | mysql -uroot -p12356

mysql -h127.0.0.1 -P3306 -uroot -pxzjzxcvb zabbix < 2021-07.sql

安装zabbixServer

https://www.zabbix.com/cn/download?zabbix=4.0&os_distribution=centos&os_version=7&components=server_frontend_agent&db=mysql&ws=apache

Built with Hugo
Theme Stack designed by Jimmy