Mudanças entre as edições de "Configurando backup do Zabbix para FTP"

De Gigafull
Ir para navegação Ir para pesquisar
 
(2 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 67: Linha 67:
 
  dia=$(date +'%Y%m%d')
 
  dia=$(date +'%Y%m%d')
 
  ncftpput -f /root/Scripts/.backupserver.cfg -vZmRF / /root/Backup/BackupZabbix_$dia.tar.gz
 
  ncftpput -f /root/Scripts/.backupserver.cfg -vZmRF / /root/Backup/BackupZabbix_$dia.tar.gz
  ncftpput -f /root/Scripts/.backupserver.cfg -vZmRF / /root/Scripts/backup/informacoes
+
  ncftpput -f /root/Scripts/.backupserver.cfg -vZmRF / /root/Backup/informacoes
  
  
Linha 81: Linha 81:
 
  30 23 * * mon root bash /root/Scripts/Compactar_Arquivos.sh
 
  30 23 * * mon root bash /root/Scripts/Compactar_Arquivos.sh
 
  40 23 * * mon root bash /root/Scripts/envia_bkps_ftp.sh
 
  40 23 * * mon root bash /root/Scripts/envia_bkps_ftp.sh
  00 01 * * tue root bash /root/Scripts/Excluir_bkps.sh
+
  00 03 * * tue root bash /root/Scripts/Excluir_bkps.sh
 +
 
 +
'''Programar auditoria dos backups'''
 +
'''VMs - Zabbix / Rotina Toda Segunda-Feira'''
 +
Arquivo compactado, dentro dele (DB,  /etc/zabbix/*, /usr/share/zabbix/*, /usr/lib/zabbix/*, /usr/local/share/snmp/mibs/, /etc/httpd/conf.d)
 +
Arquivo informacoes com as informações de versão

Edição atual tal como às 17h04min de 7 de junho de 2021

HOMOLOGADO COM
Zabbix 5.2.6 + Centos 8

Criar pasta "Backup" no /root/

mkdir /root/Backup/

Criar pasta "Scripts" no /root/

mkdir /root/Scripts/

Instalar o NCFTPPUT

yum install ncftp
Se acontecer o erro No match for argument: ncftp, seguir procedimentos abaixo
wget https://download-ib01.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
rpm -Uvh epel-release*rpm
dnf install ncftp

Criar um arquivo com nome .backupserver.cfg dentro da pasta /root/Scripts/, e neste arquivo, colocar os dados de acesso ao FTP

host 20.20.20.20
user usuarioFTP
pass senhaFTP

Cria um arquivo com nome Cria_Pasta_Dia_Backup.sh dentro da pasta /root/Scripts/, e neste arquivo configurar script para criar uma pasta onde ficara salvo os arquivos do dia atual

#!/bin/bash
diadehoje=$(date +'%Y%m%d')
mkdir /root/Backup/BackupZabbix_$diadehoje

Cria um arquivo com nome Copia_Arquivos_Backup.sh dentro da pasta /root/Scripts/, e neste arquivo configurar script para copiar os arquivos que serão exportados para o FTP para a pasta do backup
Na cópia dos arquivos, será criada pastas com _ no nome, o _ corresponde a /. Desta maneira, fica mais facil o entendimento para futura importação, exemplo:
etc_zabbix = /etc/zabbix/
usr_share_zabbix = /usr/share/zabbix/

#!/bin/bash
diadehoje=$(date +'%Y%m%d')
cp -r /etc/zabbix/ /root/Backup/BackupZabbix_$diadehoje/etc_zabbix
cp -r /usr/share/zabbix/ /root/Backup/BackupZabbix_$diadehoje/usr_share_zabbix
cp -r /usr/lib/zabbix/ /root/Backup/BackupZabbix_$diadehoje/usr_lib_zabbix
cp -r /usr/local/share/snmp/mibs /root/Backup/BackupZabbix_$diadehoje/usr_local_share_snmp_mibs
cp -r /etc/httpd/conf.d /root/Backup/BackupZabbix_$diadehoje/etc_httpd_conf.d

Criar um arquivo com nome Gera_Backup_DB.sh dentro da pasta /root/Scripts/, neste arquivo, configurar o script a seguir

#!/bin/sh
#SCRIPT PARA BACKUP BASEADO EM MYSQL
#VARIAVEL PARA ARMAZENAR A DATA PARA NOMEAR O BACKUP
DATA=`/bin/date +%Y%m%d`
#DEFINIR LOCAL E NOME DO BACKUP, UTILIZAR O $DATA PARA IDENTIFICAR A DATA DO BKP
NOME="/root/Backup/BackupZabbix_$DATA/bkp_db_zabbix_$DATA.sql"
#VARIAREIS CONEXAO COM DB
HOST="localhost"
USER="root"
DATABASE="zabbix"
#COMANDO DE DUMP DO BANCO
mysqldump -u $USER -p'SenhaDBZabbix' $DATABASE > $NOME

Cria um arquivo com nome Compactar_Arquivos.sh, dentro da pasta /root/Scripts/, neste arquivo, configurar o script a seguir

#!/bin/bash
dia=$(date +'%Y%m%d')
tar -cvpzf /root/Backup/BackupZabbix_$dia.tar.gz /root/Backup/BackupZabbix_$dia/

Cria um arquivo com nome cria_arquivo_informacoes.sh dentro da pasta /root/Scripts/, neste arquivo, configurar o script a seguir

#!/bin/bash
cat >'/root/Backup/informacoes' <<EOT
 Versão SO: 
 Versão Zabbix:
EOT

Cria um arquivo com nome envia_bkps_ftp.sh dentro da pasta /root/Scripts/, neste arquivo, configurar o script a seguir

#!/bin/bash
dia=$(date +'%Y%m%d')
ncftpput -f /root/Scripts/.backupserver.cfg -vZmRF / /root/Backup/BackupZabbix_$dia.tar.gz
ncftpput -f /root/Scripts/.backupserver.cfg -vZmRF / /root/Backup/informacoes


Cria um arquivo com nome Excluir_bkps.sh dentro da pasta /root/Scripts/, neste arquivo, configurar o script a seguir

#!/bin/bash
rm -rf /root/Backup/*

Agendar CRON no arquivo /etc/crontab, no exemplo abaixo, vai fazer backup toda segunda-feira a noite, e na terça as 01:00 irá realizar a exclusão do backup de dentro do Zabbix

00 23 * * mon root bash /root/Scripts/Cria_Pasta_Dia_Backup.sh
05 23 * * mon root bash /root/Scripts/Copia_Arquivos_Backup.sh
05 23 * * mon root bash /root/Scripts/cria_arquivo_informacoes.sh
10 23 * * mon root bash /root/Scripts/Gera_Backup_DB.sh
30 23 * * mon root bash /root/Scripts/Compactar_Arquivos.sh
40 23 * * mon root bash /root/Scripts/envia_bkps_ftp.sh
00 03 * * tue root bash /root/Scripts/Excluir_bkps.sh

Programar auditoria dos backups

VMs - Zabbix / Rotina Toda Segunda-Feira
Arquivo compactado, dentro dele (DB,  /etc/zabbix/*, /usr/share/zabbix/*, /usr/lib/zabbix/*, /usr/local/share/snmp/mibs/, /etc/httpd/conf.d)
Arquivo informacoes com as informações de versão