Backup e restauração (Docker)
Esta seção mostra alguns fundamentos sobre o processo de backup e restauração para uma implantação do Zammad baseada em Docker Compose.
Se você está familiarizado com procedimentos de backup e restauração baseados em volume no Docker, e talvez já use um método ou ferramenta diferente, pode continuar usando-o. Um backup normalmente significaria desligar a stack para garantir que todos os arquivos em memória sejam gravados no disco, depois fazer backup do conteúdo do volume, e então iniciar a stack novamente. Ao usar esse método, você pode considerar usar o cenário disable-backup-service para que o mecanismo integrado de backup e restauração do Zammad não seja ativado.
O restante desta página descreve o mecanismo integrado de backup e restauração da stack Docker Compose do Zammad.
Se você está familiarizado com o Docker, as seções abaixo incluem as informações de que você precisa. A página manuseio de arquivos no Docker cobre alguns exemplos sobre como lidar com os arquivos de backup e copiá-los para um volume Docker para restaurá-los.
Backup
Por padrão, um backup é criado às 3 horas todas as noites. O backup é armazenado no volume do container zammad-backup, em /var/tmp/zammad. Para disparar um backup avulso manualmente, use um dos comandos abaixo, dependendo do seu método de implantação.
No seu diretório do Docker Compose, execute:
docker compose run --rm --env BACKUP_ONCE=true zammad-backupRestauração
- Inicie a nova stack pelo menos uma vez, para que um banco de dados do Zammad esteja disponível.
- Pare a stack.
- Caso você esteja restaurando para uma stack de produção com armazenamento em sistema de arquivos ativado, você deve limpar o conteúdo do diretório
/opt/zammad/storage/dentro do volume. O processo de restauração só adiciona/sobrescreve arquivos lá; nenhuma limpeza acontecerá. - Copie ou mova os arquivos de backup para
/var/tmp/zammad/restore/dentro do volume do container zammad-backup. Esteja ciente de que o processo de restauração sempre usa o backup mais recente, de acordo com o carimbo de data/hora do nome do arquivo. Apenas backups de instalações via pacote e Docker são suportados por esse método de backup integrado. Não forneça os arquivoslatest_zammad_*.gz, pois eles apontam para um local desconhecido para o processo de restauração. - Inicie a stack. O processo de restauração é acionado no serviço
zammad-backupse o diretóriorestorefor detectado e os arquivos de backup estiverem no lugar. Como parte desse processo, o cache do Rails será limpo. Todos os outros containers aguardam o término da restauração antes de retomar suas operações normais. - Depois que o processo de restauração terminar, o diretório
restoreterá sido renomeado. Você pode excluí-lo com segurança agora. - Reconstrua o índice do Elasticsearch. Você pode usar o Zammad enquanto a reconstrução está em andamento, mas o desempenho da pesquisa fica degradado e alguns dados podem ficar temporariamente indisponíveis nos resultados de pesquisa. Use um dos comandos abaixo, dependendo do seu método de implantação.
Sem especificar núcleos de CPU:
docker compose run --rm zammad-railsserver bundle exec rake zammad:searchindex:rebuildEspecificando núcleos de CPU a usar (exemplo 8):
docker compose run --rm zammad-railsserver bundle exec rake zammad:searchindex:rebuild[8]