返回列表 发帖

备份+还原Zabbix

这是在 CentOS8编译安装Zabbix4.4.5 的基础上进行的。


登录MariaDB:
图片1.png
2021-1-12 16:24



查看所有数据库用户及其主机信息:
select user,host from mysql.user;
图片2.png
2021-1-12 16:25



Zabbix所使用的数据库用户zabbix@localhost及其权限:
MariaDB [(none)]> show grants for zabbix@localhost;
+---------------------------------------------------------------------------------------------------------------+
| Grants for zabbix@localhost                                                                                   |
+---------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'zabbix'@'localhost' IDENTIFIED BY PASSWORD '*DEEF4D7D88CD046ECA02A80393B7780A63E7E789' |
| GRANT ALL PRIVILEGES ON `zabbix`.* TO 'zabbix'@'localhost'                                                    |
+---------------------------------------------------------------------------------------------------------------+
2 rows in set (0.000 sec)

注释:数据库用户zabbix@localhost已经有备份库zabbix的权限了。




显示所有的库:
show databases;
图片4.png
2021-1-12 16:27




数据库的备份命令:
[root@centos8 ~]# which mysqldump
/usr/bin/mysqldump


Zabbix的站点目录:
[root@centos8 ~]# cd /var/www/html/
[root@centos8 html]# ls
phpMyAdmin  zabbix



备份脚本 backup_zabbix.sh 的内容:
[root@centos8 ~]# cat backup_zabbix.sh
#!/bin/bash

#指定备份文件存放的目录;假如目录不存在,则自动创建
Backup_Home="/home/backup/"
if [ ! -d ${Backup_Home} ]; then  
    mkdir -p ${Backup_Home}
fi


#指明数据库备份命令的位置:
MySQL_Dump="/usr/bin/mysqldump"

#指明备份数据库时用到的用户名和密码:
MYSQL_UserName='zabbix'
MYSQL_PassWord='zabbix'


#备份Zabbix的站点目录:
Backup_time=`date +'%Y%m%d%H%M%S'`
web1="zabbix"
cd /var/www/html/
tar -czvf ${Backup_Home}${web1}_${Backup_time}.tar.gz ${web1}

#备份Zabbix的数据库:
MYSQL_Db1='zabbix'
MYSQL_Db1_file=${Backup_Home}${web1}_db-$MYSQL_Db1-${Backup_time}.sql
${MySQL_Dump} -u$MYSQL_UserName -p$MYSQL_PassWord $MYSQL_Db1 > ${MYSQL_Db1_file}



手动运行备份脚本:
[root@centos8 ~]# whoami
root
[root@centos8 ~]# bash backup_zabbix.sh


备份成功:
[root@centos8 ~]# cd /home/backup/
[root@centos8 backup]# du -ah
16M     ./zabbix_20210117093733.tar.gz
3.6M    ./zabbix_db-zabbix-20210117093733.sql
19M     .

[root@centos8 backup]# ls -lh
总用量 19M
-rw-r--r-- 1 root root  16M 1月  17 09:37 zabbix_20210117093733.tar.gz
-rw-r--r-- 1 root root 3.6M 1月  17 09:37 zabbix_db-zabbix-20210117093733.sql












######

还原Zabbix

删除旧的站点目录:
[root@centos8 ~]# rm -rf /var/www/html/zabbix/

还原站点目录:
[root@centos8 ~]# cd /home/backup/
[root@centos8 backup]# tar -zxf zabbix_20210117093733.tar.gz -C /var/www/html/

[root@centos8 ~]# cd /var/www/html/zabbix/
[root@centos8 zabbix]# ls
图片5.png
2021-1-12 16:35

注释:截图有省略。





还原站点数据库:

登录MariaDB:(使用数据库用户zabbix@localhost
mysql -u"zabbix" -p"zabbix"
图片1.png
2021-1-17 10:07



图片2.png
2021-1-17 10:08



还原站点数据库:
MariaDB [(none)]> drop database zabbix;
Query OK, 149 rows affected (0.441 sec)

MariaDB [(none)]> create database zabbix character set utf8 collate utf8_general_ci;
Query OK, 1 row affected (0.001 sec)

MariaDB [(none)]> use zabbix;
Database changed
MariaDB [zabbix]> source /home/backup/zabbix_db-zabbix-20210117093733.sql







Zabbix的数据库配置文件:
[root@centos8 ~]# cd /var/www/html/zabbix/conf
[root@centos8 conf]# ll
总用量 12
-rw-r--r-- 1 root root 1036 7月  12 2020 maintenance.inc.php
-rw-r--r-- 1 root root  415 7月  12 2020 zabbix.conf.php
-rw-r--r-- 1 root root  741 7月  12 2020 zabbix.conf.php.example

[root@centos8 conf]# vi zabbix.conf.php
图片6.png
2021-1-12 16:36


注释:数据库用户zabbix@localhost的信息要与Zabbix的数据库配置文件的信息一致。


[root@centos8 ~]# mysql -u"zabbix" -p"zabbix" -e "show grants for zabbix@localhost;"
+---------------------------------------------------------------------------------------------------------------+
| Grants for zabbix@localhost                                                                                   |
+---------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'zabbix'@'localhost' IDENTIFIED BY PASSWORD '*DEEF4D7D88CD046ECA02A80393B7780A63E7E789' |
| GRANT ALL PRIVILEGES ON `zabbix`.* TO 'zabbix'@'localhost'                                                    |
+---------------------------------------------------------------------------------------------------------------+



笺注:实验中,Zabbix的备份和还原都是正常的。





相关文章:
CentOS8使用计划任务
CentOS6使用Python3脚本备份站点(Zabbix)+crontab计划任务

返回列表