Aprenda como funciona o GLPi ou Fusioninventotry Agent e faça...
Leia maisComo Fazer Backup do GLPi
-
Halexsandro de Freitas Sales
- 21/09/2021

Compartilhe esse post
Aprenda como fazer backup do GLPi de forma simples, rápida e com um nível mínimo de garantia.

Por que realizar backup?
Tão importante quanto ter um sistema de Gestão de Serviços operando, é garantir que ele esteja de fato disponível sempre que necessário e que possa ter ainda a capacidade de ser recuperado em caso de desastres.
Ao longo do tempo temos nos deparados com muitos ambientes de produção GLPi que rodam sem quaisquer garantias.
Isso vem nos preocupando pois, embora seja um sistema relativamente simples de subir (aprenda aqui como), depois de entrar em produção, os departamentos tendem a depender totalmente deste para garantir a produtividade e um bom nível de qualidade na entrega de serviços.
Riscos Envolvidos
Ao tomar a decisão de manter um serviço internamente, as partes envolvidas devem estar cientes de que não trata-se apenas de instalar ou fazer backup. Outros aspectos relacionados ao gerenciamento de Capacidade e Disponibilidade devem ser devidamente observados.
Por vezes, ao sermos acionados para migrar um GLPi para nossos serviços em nuvem (você pode trazer seu GLPi para nossa infra sem custos adicionais ao Serviço contratado), nos deparamos com problemas dos mais variados tipos:
- Sistemas desatualizados e vulneráveis
- Falta de política de backup e retenção de dados
- Falta de teste de integridade de backup
- Bases de dados com tabelas corrompidas
- Processos de upgrade mal realizados e com arquivos perdidos
Todos estes problemas citados dizem respeito a mesma causa raiz que ouvimos diariamente durante nossa abordagem inicial com novos clientes em processo de migração para o Serviço GLPi em Nuvem da Verdanatech:
houveram recursos para subir o sistema porém, o mesmo não aconteceu para manter a integridade do serviço depois de implantado.
Isso faz com que inúmeros ambientes operem em risco e consequentemente, incidam em riscos operacionais aos Negócios que suportam.
O Mínimo
Para se manter em condições mínimas um serviço gerenciado, alguns aspectos são fundamentais.
Precisamos de um Acordo de Nível de Serviços (ANS/SLA).
Um documento onde fique claro e alinhado as demandas por parte do Negócio, capacidades por parte do prestador e outros aspectos relacionados a segurança da informação.
Um quesito mínimo para segurança da informação é um plano de recuperação do serviço em caso de desastre, contemplando as garantias mínimas do serviço ofertado pelo Prestador. Seja ele interno ou externo.
O Cliente e seus usuários devem receber do prestador a garantia de que, caso o Serviço apresente falhas, e ele um dia apresentará (veja nosso Webinar sobre Incidentes), o serviço retornará o mais rápido possível a sua operação normal.
Processo de Backup do GLPi
O processo de realização de backup do sistema GLPi não é algo de outro mundo. Ele é relativamente simples de ser executado.
O nível de complexidade claro, fica a cargo de quem está operando e sua intimidade com o sistema operacional utilizado para a manipulação de arquivos, scripts, agendamento de tarefas e manipulação de banco de dados.
Basicamente, podemos dividir o backup em 2 partes:
- Cópia dos arquivos
- Cópia da Base de Dados
Os arquivos que anexamos aos chamados e base de conhecimento do sistema GLPi, ficam todos armazenados em diretório na pasta “files” ( ../glpi/files).
É então necessário garantir a cópia dessa pasta junto ao banco de dados para um outro local para assegurarmos a capacidade de restauração em caso de desastre.
Neste artigo, apresentamos um script simples desenvolvido pela equipe Verdanadesk para te dar a garantia mínima de manutenção do sistema.
Este script possui a finalidade de copiar a base de dados em seu estado atual para dentro do diretório “files/_dumps” do GLPi e reter por um determinado período estes arquivos. Em nosso script, consideramos o período de retenção como 7, ou seja, 1 semana de retenção.
Código Fonte
A seguir, apresentamos o código fonte de um pequeno script de backup totalmente funcional para GLPi.
Vale ressaltar que você pode sempre conferir a versão mais recente em nosso GIT HUB.
#!/bin/bash
# -------------------------------------------------------------------------
# @Programa
# @name: verdanadeskGLPiBKP.sh
# @versao: 1.0.3
# @Data 02 de Julho de 2023
# @Copyright: Verdanatech Soluções em TI, 2015 - 2023
# @Author: Halexsandro de Freitas Sales <halexsandro.sales@verdanatech.com>
# --------------------------------------------------------------------------
# LICENSE
#
# verdanadeskGLPiBKP.sh is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# verdanadeskGLPiBKP.sh is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# If not, see <http://www.gnu.org/licenses/>.
# --------------------------------------------------------------------------
#
# Declaracao de variaveis do programa
# * altere as informacoes abaixo de
# acordo com as caracteristicas do seu sistema
#
# Diretorio de Backup
BKPDIR="/var/www/verdanadesk/files/_dumps"
# Periodo de retencao do backup em dias
RETENCAO=7
# Usuario da Base de Dados
DATABASEUSER=root
# Senha do usuario da Base de Dados
DATABASEPASSWORD='NULL'
# Nome da Base de Dados
DATABASE=glpi
##############################
# Evite alterar a partir daqui #
##############################
# Data de execucao do DUMP
DATE=$(date +%Y%m%d_%H_%M)
#
# Inicio do Backup
#
mysqldump -u $DATABASEUSER $(if [ $DATABASEPASSWORD != NULL ] ; then echo "-p$DATABASEPASSWORD"; fi) $DATABASE | gzip > $BKPDIR/verdanadesk_$DATE.sql.gz
#
# Validando se o DUMP foi bem sucedido
#
zcat $BKPDIR/verdanadesk_$DATE.sql.gz | tail -1 | grep "Dump Completed"
if [ $? -ne 0 ]
then
# Caso o DUMP falhe, o script aborta a execucao
echo "Erro ao executar Backup de $DATABASE"
exit 1
else
# Excluindo arquivos mais antigos que o periodo de retencao
echo "Excluindo arquivos mais antigos!"
find $BKPDIR/ -type f -mtime +$RETENCAO -exec rm -rf {} \;
fi
Basta salvar o script em seu servidor, atualizar os parâmetros iniciais de acordo com a sua necessidade e agendar sua execução no CRON do sistema operacional.
Agendando o script no CRON
Vamos supor que você tenha salvo o script como verdanadeskGLPiBKP.sh no diretório “/root”.
Então, o que precisamos fazer agora é dar permissão de execução para ele e adicioná-lo ao agendador de tarefas do Linux, o CRON.
Dando permissão de execução ao script
Para permitir que um script em shell seja executável em um sistema Unix-LIKE, precisamos definir isso.
O comando para essa definição é o “chmod”. Logo, tomando como verdade o caminho que informamos nos parágrafos acima, basta digitar o seguinte comando:
# Dando permissão de execucao em um arquivo no Linux
chmod +x /root/verdanadeskGLPiBKP.sh
Inserção da tarefa no CRON
Com a permissão de execução já cadastrada, nos resta apenas o #proximoPasso: agendar sua execução.
Para tanto, basta adicionarmos as seguintes linhas ao final do arquivo “/etc/crontab” do seu sistema Linux:
#
# Agendamento de backup diario do BD do GLPi
#
59 23 * * * root /bin/bash /root/verdanadeskGLPiBKP.sh
Após inserir essas linhas no seu agendador de tarefas, basta reiniciar o serviço para que ele leia a nova entrada e esta passe a ser executada todos os dias as 23h59min, conforme definimos no arquivo.
Para isso, digite o comando a seguir no terminal do seu servidor:
# Reinicializando o CRON
service cron restart
Conclusões
Esperamos que esta pequena contribuição ajude você e sua empresa. Porém, vale lembrar que manter um serviço é muito mais que fazer backup do mesmo. É necessário validar a integridade dos backups e garantir que os mesmos não só estejam sendo realizados mas sim que podem ser utilizados, caso necessário.
Apenas o empenho na rotina de teste e validação do processo de backup, simulações de desastres e recuperações podem dar a garantia que seu negócio precisa.
Caso esteja procurando uma solução profissional para apoiar sua operação, conte conosco!
Grande abraço, paz e sucesso a todos!
Deixe o seu comentário
Quer receber nossas atualizações com conteúdos exclusivos?
Deixe seu contato
Mais artigos para você explorar

Instalação do GLPi Agent em Massa
Aprenda como funciona o GLPi ou Fusioninventotry Agent e faça a instalação do GLPi Agent em massa via GPO em sua rede.

Como instalar o GNU/Linux Debian 12
Se você deseja iniciar em Linux, GLPi ou Zabbix, descubra as maravilhas do GNU/Linux Debian 12 neste guia passo a passo e prepare seus laboratórios para os próximos passos que virão com a #gataVerde!