Backup Plan

Version Date Notes By
1.3 2021-07-20 Alteraçõe srelacionadas com o novo sistema de backups (Borg( jfm
1.2 2020-03-09 Alteerada localização do backup Linode Clientes e Alterados IP's de alguns servidores jfm
1.1 2020-11-16 Adicionado LinodeGSC e LinodePsicoviana jfm
1.0 2020-07-16 Adicionado LinodeSGSI jfm
0.9 2020-05-18 Adicionado LinodeSecwall jfm
0.8 2020-05-15 Adicionado proxmox e opnsense. Returado syspass. Alguns ajustes jfm
0.7 2019-08-12 Sincronização do Linode WeMake mudada para NAS02. Algumas pequenas correções jfm
0.6 2019-07-08 Adicionado backup do syspass jfm
0.5 2019-06-11 Ajustadas algumas horas de backups. Adicionado descrição do crontab do NAS WD nmp
0.4 2019-01-16 Adicionadas as siglas de identificação a cada servidor nmp
0.3 2019-01-10 Sincronização da legislação movida para o NAS WD jfm
0.2 2018-07-25
  • Atualizado crontab do NAS.
  • Adicionado os backups do servidor Linode Web Apps.
  • Alguns ajustes
  • jfm
    0.1 2017-09-25 Initial release jfm

    Resumo

    Na sua generalidade os backups são efetuados da mesma forma mediante sistema operatido e com as mesmas periodicidades. As excepções são indicadas em cada caso.

    Forma e Periodicidade

    Nos servidores Linux existem 2 tipos de backup. Um é feito atravez de um conjunto de scripts e é usado em versões do Linux mais antigas, o outro é feito através do uso do software Borg

    Tanto os scripts como o Borg são configurados usando o crontab e podem ser consultados executando o comando crontab -l (pode ser necessário executar com Super User)

    Em servidores windows com necessidade de backup de base de dados SQL Server, é usada a ferramenta SQL Backup Master e o Backup Agent do https://www.rsync.net/

    Os backups feitos pelo script são incrementais diáriamente e totais semanalmente (Domingo). É igualmente guardada cópia do penúltimo backup total. No caso do Borg, o sistema é diferente e usa uma filosofia de repositório. O backup é efetuado todos os dias onde são apenas guardadas as diferenças, no entanto para restauro apenas basta obter os ficheiros do último backup.

    No caso do scripts, a estrutura de pastas onde são criados os backups é a seguinte:

    Pasta Descrição
    ARCHIVED_BACKUPS Guarda o penúltimo backup total
    DAILY Guarda os backups efectuadas diariamente, sendo que: DAILY/0 corresponde ao Domingo
    LOGS Guarda diariamente os logs com a informação dos ficheiros que foram guardados

    Os backups das base de dados são sempre totais diariamente.

    Todos os os dias estes backup são sincronizados para o serviço do Rsync.net

    Retenção

    Scripts O periodo mínimo de retenção dos backups é de 1 semana.

    Borg

    • Diários - Últimos 30 dias
    • Semanal - Últimas 12 Semanas
    • Mensal - Últimos 6 Meses

    Sincronização Google Drive

    O google drive já não é usado como repositório oficial da documentação, no entanto é efetuada na mesma a sincronização

    Os ficheiros do google drive estão a ser sincronizado para o servidor Labforense.

    Servidores Externos

    Servidor Linode Clientes (LI08)(172.105.250.171)

    crontab

    0 1 * * * /home/devel/scripts/mysql_backups.sh
    30 1 * * * /home/devel/scripts/lusiaves/mysql_backups.sh
    
    0 2 * * * /home/devel/scripts/backups.sh
    0 3 * * * /home/devel/scripts/lusiaves/backups.sh
    
    30 5 * * * /home/devel/scripts/rsync.net.sh

    /home/devel/scripts/mysql_backups.sh - Base de dados

    Faz backup de todas as base de dados de todas as obras que existirem no MySQL

    Pasta de destino: /var/wemakebackups/mysql/

    /home/devel/scripts/lusiaves/mysql_backups.sh - Base de dados Lusiaves

    Faz backup de todas as base de dados das obras da Lusiaves

    Pasta de destino: /var/wemakebackups/lusiaves/mysql/

    /home/devel/scripts/backups.sh - Ficheiros

    Pasta Notas
    /etc
    /home/devel/scripts Scripts de manutenção do servidor

    Pasta de destino: /backups/system/

    /home/devel/scripts/lusiaves/backups.sh - Ficheiros Lusiaves

    Pasta Notas
    /etc
    /var/www/(obras_lusiaves) Todas as pastas das obras da Lusiaves (ver lista)

    Lista de pastas das obras da Lusiaves

    • /var/www/avipronto.wemake.pt/
    • /var/www/avisabor.wemake.pt/
    • /var/www/campoaves.wemake.pt/
    • /var/www/hiperfrango.wemake.pt/
    • /var/www/lusiaves.wemake.pt/
    • /var/www/inogen.wemake.pt/
    • /var/www/multilafoes.wemake.pt/
    • /var/www/perugel.wemake.pt/
    • /var/www/quintasaoplagio.wemake.pt/
    • /var/www/racentro.wemake.pt/
    • /var/www/triperu.wemake.pt/
    • /var/www/yourhotel.wemake.pt/

    Pasta de destino: /var/wemakebackups/lusiaves/system/

    Sincronização

    Os backups são sincronizados diariamente para o serviço Rsync.net

    Servidor Linode WeMake (LI07)(151.236.219.39)

    crontab

    # No devel
    15 0 * * * /home/devel/scripts/mysql_backups.sh
    30 0 * * * /home/devel/scripts/backups.sh
    
    # No root
    0 1 * * * /home/devel/scripts/svn_backup.sh full /usr/local/svn/repos/ /var/wemakebackups/subversion/data/ >> /var/wemakebackups/subversion/logs/svn-backup.log
    0 9-23/1 * * * /home/devel/scripts/svn_backup.sh part /usr/local/svn/repos/ /var/wemakebackups/subversion/data/ >> /var/wemakebackups/subversion/logs/svn-backup.log
    /home/devel/scripts/mysql_backups.sh - Base de dados

    Faz backup de todas as base de dados que existirem no MySQL

    Pasta de destino: /var/wemakebackups/mysql/

    /home/devel/scripts/backups.sh - Ficheiros
    Pasta Notas
    /etc
    /usr/share/redmine Redmine
    /home/devel/scripts Scripts utilitários
    /var/www/sgiv10.wedocs.wemake.pt Documentação SGIV10
    /var/www/www.wemake.pt/ Site WeMake (Já não usado)
    /var/www/www.wesecure.pt/ Site WeSecure (Já não usado)
    /var/www/marketing.wemake.pt/ Aplicação de Marketing (Já não usada)
    /var/www/ticketing.wemake.pt/ WeHelp
    /var/www/bizagi.wedocs.wemake.pt/ Documentação do Bizagi
    /var/www/wedocs.wemake.pt/ Documentação variada da WeMake
    /var/www/wedocs.wesecure.pt/ Documentação variada da WeSecure
    /var/www/edupedia.wemake.pt/ Projeto Edupedia
    /var/www/eduwiki/ Projeto Edupedia
    /var/www/manuals.wedocs.wemake.pt/ Manuais SGIV10
    /var/www/satis.wemake.pt/ Repositorio para pacotes do composer
    /var/www/training.wesecure.pt Moodle - training.wesecure.pt
    /var/moodledata Ficheiros do Moodle - training.wesecure.pt

    Pasta de destino: /var/wemakebackups/system/

    /home/devel/scripts/svn_backup.sh - Subversion

    Faz backup total diário e incremental todas as horas

    Pasta de destino: /var/wemakebackups/subversion/data

    Sincronização

    Os backups são sincronizados diariamente para o serviço Rsync.net

    Gitlab

    crontab

    0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1
    0 1 * * * /home/devel/scripts/backups.sh
    /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1 - Gitlab

    Faz backup de todo o gitlab

    Pasta de destino: /backups/gitlab/

    /home/devel/scripts/backups.sh - Ficheiros
    Pasta Notas
    /etc

    Pasta de destino: /backups/system/

    Sincronização

    Os backups são sincronizados diariamente para o serviço Rsync.net

    Wazuh Server

    crontab

    30 0 * * * /home/wesec/scripts/backups.sh
    0 1 * * * /home/wesec/scripts/es_backup.sh
    30 0 * /home/wesec/scripts/backups.sh - Ficheiros
    Pasta Notas
    /etc
    /var/ossec

    Pasta de destino: /backups/system/

    /home/wesec/scripts/es_backup.sh - ElasticSearch snapshots

    Pasta de destino: /backups/es

    Sincronização

    Os backups são sincronizados diariamente para o serviço Rsync.net

    Restantes servidores externos

    Todos os restantes servidores eternos fazem backup através do uso do Borg. Ver documentação no Grav:

    Proxmox

    A pasta /mnt/pve/ovh-backup é uma unidade de storage separada do storage do proxmox

    /root/scripts/prox_config_backup.sh - Configurações

    Faz backup das configurações do proxmox

    Pasta de destino: /mnt/pve/ovh-backup/config/

    Periodo de retenção: 7 Dias

    Máquinas virtuais

    Nenhum das máquinas virtuais é critica para o negócio, pelo que são de momento feito backups apenas das seguintes máquinas virtuais:

    • OVH01-01
    • OVH01-02
    • OVH01-03
    • OVH01-04
    • OVH01-05
    • OVH01-09
    • OVH01-11
    • OVH01-15

    Pasta de destino: /mnt/pve/ovh-backup/dump/

    Periodicidade: Todos os Domingos às 01:30

    Periodo de retenção: 2 Semanas

    OPNsense

    Além do backup da máquina virtual, é feito também backup automático das configurações para o GoogleDrive (https://drive.google.com/drive/folders/1Z-B5MDeGt-bQc66wDSXAtYolHkproLBw)

    Periodicidade: Automaticamente todos os dias é verificado se houve alterações na configuração. Se sim faz backup

    Backup manual

    1. Aceder ao servidor de backups pretendido
    2. Aceder à pasta onde se encontra o script the backup
    3. Executar o script de backup em backgroud. Ex: nohup ./rsync_linode_webapps.sh &

    Found errors? Think you can improve this documentation? Simply click the Edit link at the top of the page, and then the icon on Github to make your changes.