Mudanças entre as edições de "Configurando backup do Zabbix para FTP"
(5 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 56: | Linha 56: | ||
tar -cvpzf /root/Backup/BackupZabbix_$dia.tar.gz /root/Backup/BackupZabbix_$dia/ | 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 | '''Cria um arquivo com nome ''envia_bkps_ftp.sh'' dentro da pasta /root/Scripts/, neste arquivo, configurar o script a seguir | ||
Linha 61: | 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/Backup/informacoes | ||
+ | |||
'''Cria um arquivo com nome ''Excluir_bkps.sh'' dentro da pasta /root/Scripts/, neste arquivo, configurar o script a seguir | '''Cria um arquivo com nome ''Excluir_bkps.sh'' dentro da pasta /root/Scripts/, neste arquivo, configurar o script a seguir | ||
Linha 67: | Linha 75: | ||
'''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''' | '''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 | + | 00 23 * * mon root bash /root/Scripts/Cria_Pasta_Dia_Backup.sh |
− | 05 | + | 05 23 * * mon root bash /root/Scripts/Copia_Arquivos_Backup.sh |
− | 10 | + | 05 23 * * mon root bash /root/Scripts/cria_arquivo_informacoes.sh |
− | 40 | + | 10 23 * * mon root bash /root/Scripts/Gera_Backup_DB.sh |
− | 00 | + | 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 |
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