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.
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!
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.1 # @Data 06 de Novembro de 2020 # @Copyright: Verdanatech Soluções em TI, 2015 - 2020 # -------------------------------------------------------------------------- # 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 # # Diretorio de Backup BKPDIR="/tmp/bkp" # Periodo de retencao do backup em dias RETENCAO=5 # 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 > $BKPDIR/verdanadesk_$DATE.sql # Validando se o DUMP foi bem sucedido 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.
Grande abraço, paz e sucesso a todos!