Fazer backup e mover o Weblate¶
Backups de nível de projeto¶
Added in version 4.14.
Aviso
A restauração de backups só é suportada quando se utiliza PostgreSQL ou MariaDB 10.5+ como banco de dados.
O projeto faz backup de todo o conteúdo da tradução da Weblate (projeto, componentes, traduções, comentários de cadeias, sugestões ou verificações). É indicado para transferir um projeto para outra instância do Weblate.
Pode realizar uma cópia de segurança do projeto em Gerir ↓ Cópias de segurança. A cópia de segurança pode ser restaurada ao criar um projeto (ver Adicionando projetos e componentes de tradução).
Os backups atualmente não incluem informações de controle de acesso e histórico.
Os comentários e sugestões são acompanhados pelo nome do utilizador que os criou. Após a importação, ele é atribuído a um utilizador correspondente. Se não houver nenhum utilizador com tal nome de utilizador, ele é atribuído a um utilizador anónimo.
Os backups gerados são mantidos no servidor conforme configurado por PROJECT_BACKUP_KEEP_DAYS
e PROJECT_BACKUP_KEEP_COUNT
(o padrão é manter no máximo 3 backups por 30 dias).
Use the generated file to import project when Adicionando projetos e componentes de tradução or in import_projectbackup
.
Nota
A restauração do Backup pode falhar se o servidor de restauração tiver um conjunto diferente de Definições de idioma ou uma configuração diferente de SIMPLIFY_LANGUAGES
. A restauração informará quais códigos de idioma não puderam ser processados e poderá depois adicionar manualmente as definições de idioma ausentes.
Backup automatizado pelo BorgBackup¶
O Weblate tem suporte embutido para criação de backups de serviços a usar BorgBackup. Borg cria backups criptografados eficazes em termos de espaço que podem ser armazenados com segurança na nuvem. Os backups podem ser controlados na interface de gestão da guia Backups.
Alterado na versão 4.4.1: Os bancos de dados PostgreSQL e MySQL/MariaDB estão incluídos nos backups automatizados.
Os backups que usam o Borg são incrementais e o Weblate é configurado para manter os seguintes backups:
Backups diários para 14 dias
Backups semanais por 8 semanas atrás
Backups mensais por 6 meses atrás

Chave de criptografia do Borg¶
BorgBackup cria backups criptografados e não conseguiria restaurá-los sem a palavra-passe. A palavra-passe é gerada ao adicionar novo serviço de backup e deve copiá-lo e mantê-lo num lugar seguro.
Se estiver a usar Armazenamento de backup provisionado do Weblate, faça backup da sua chave SSH privada também, pois ela é usada para acessar os seus backups.
Veja também
Personalizando o backup¶
O backup do banco de dados pode ser configurado via
DATABASE_BACKUP
.A criação do backup pode ser personalizada a usar
BORG_EXTRA_ARGS
.
Armazenamento de backup provisionado do Weblate¶
A forma mais fácil de fazer backup da sua instância do Weblate é comprar o serviço de backup em weblate.org. É assim que o faz funcionar:
Compre o Serviço de backup em https://weblate.org/support/#backup.
Insira a chave obtida na interface de gestão, veja Integrando o apoio.
Weblate se conecta ao serviço de nuvem e obtém informações de acesso para os backups.
Ative a nova configuração de backup a partir da guia Backups.
Faça backup das suas credenciais do Borg para conseguir restaurar os backups, veja Chave de criptografia do Borg.
Dica
O passo manual para ativar tudo está lá para sua segurança. Sem o seu consentimento, nenhum dado é enviado ao repositório de backup obtido através do processo de registo.
Usar armazenamento de backup personalizado¶
Também pode usar o seu próprio armazenamento para backups. SSH pode ser usado para armazenar cópias de segurança no destino remoto, o servidor de destino precisa do BorgBackup instalado.
Veja também
General na documentação do Borg
Sistema de ficheiros local¶
Recomenda-se especificar o caminho absoluto para o backup local, por exemplo /caminho/para/backup. O diretório deve poder ser escrito pelo utilizador a executar o Weblate (veja Permissões do sistema de ficheiros). Se ele não existir, o Weblate tenta criá-lo, mas precisa das permissões apropriadas para fazê-lo.
Dica
Ao executar o Weblate no Docker, certifique-se de que o local de backup seja exposto como um volume do contentor Weblate. Caso contrário, os backups serão descartados pelo Docker na reinicialização do seu contentor.
Uma opção é pôr backups num volume existente. Por exemplo, /app/data/borgbackup
. Este é um volume existente no contentor.
Também pode adicionar um novo contentor para os backups no ficheiro de composição do Docker, por exemplo, a usar /borgbackup
:
services:
weblate:
volumes:
- /home/weblate/data:/app/data
- /home/weblate/borgbackup:/borgbackup
O diretório onde os backups serão armazenados para serem possuídos por UID 1000, caso o contrário, Weblate não será capaz de escrever os backups lá.
Backups remotos¶
Para criar os backups remotos, terá que instalar o BorgBackup em outro servidor que seja acessível para sua implantação de Weblate via SSH a usar a chave SSH do Weblate:
Prepare um servidor onde os seus backups serão armazenados.
Instale o servidor SSH nele (receberá-o por padrão com a maioria das distribuições Linux).
Instale o BorgBackup nesse servidor; a maioria das distribuições Linux tem pacotes disponíveis (veja Installation).
Escolha um utilizador existente ou crie um novo que será usado para backup.
Adicione a chave SSH do Weblate ao utilizador para que o Weblate possa usar o SSH para o servidor sem uma palavra-passe (veja Chave SSH do Weblate).
Configure o local de backup no Weblate como
utilizador@host:/caminho/para/backups
ouutilizador@host/caminho/para/backups
.
Dica
Armazenamento de backup provisionado do Weblate fornece backups remotos automatizados sem qualquer esforço.
Veja também
Restaurar do BorgBackup¶
Restaurar o acesso ao repositório de backup e preparar a sua palavra-passe de backup.
Liste todos os backups no servidor a usar
borg list REPOSITÓRIO
.Restaure o backup desejado para o diretório atual a usar
borg extract REPOSITÓRIO::PACOTE
.Restaure o banco de dados do despejo de SQL posto no diretório
backup
no diretório de dados do Weblate (veja Dados despejados para backups).Copie a configuração do Weblate (
backups/settings.py
, veja Dados despejados para backups) até o local correto, veja Ajustar a configuração.Ao usar o contentor Docker, o ficheiro de configurações já está incluído no contentor e deve restaurar as variáveis de ambiente originais. O ficheiro
environment.yml
pode ajudá-lo com isso (veja Dados despejados para backups).Copie todo o diretório de dados restaurados para o local configurado por
DATA_DIR
.Ao usar contentores do Docker, ponha os dados num volume de dados, veja Volumes de contentor Docker.
Por favor, assegurar que os ficheiros têm o proprietário e as permissões corretas, veja Permissões do sistema de ficheiros.
A sessão dos Borg pode parecer com isso:
$ borg list /tmp/xxx
Enter passphrase for key /tmp/xxx:
2019-09-26T14:56:08 Thu, 2019-09-26 14:56:08 [de0e0f13643635d5090e9896bdaceb92a023050749ad3f3350e788f1a65576a5]
$ borg extract /tmp/xxx::2019-09-26T14:56:08
Enter passphrase for key /tmp/xxx:
Veja também
Backup manual¶
Dependendo do que deseja gravar, faça backup do tipo de dados que o Weblate armazena em cada lugar.
Dica
Se estiver a fazer os backups manualmente, pode silenciar os avisos do Weblate sobre a falta de backups a adicionar weblate.I028
para SILENCED_SYSTEM_CHECKS
em settings.py
ou WEBLATE_SILENCED_SYSTEM_CHECKS
para o Docker.
SILENCED_SYSTEM_CHECKS.append("weblate.I028")
Banco de dados¶
O local de armazenamento real depende da configuração do seu banco de dados.
Dica
O banco de dados é o armazenamento mais importante. Configure backups regulares do seu banco de dados. Sem o banco de dados, todas as traduções são perdidas.
Backup nativo do banco de dados¶
A abordagem recomendada é gravar um despejo do banco de dados a usar ferramentas nativas, tais como pg_dump ou mysqldump. Esta abordagem normalmente tem um desempenho melhor do que o backup do Django e restaura tabelas completas com todos os seus dados.
Pode restaurar este backup numa versão mais nova do Weblate, ele executará todas as migrações necessárias ao executar em migrate
. Consulte Atualizando o Weblate sobre informações mais detalhadas sobre como atualizar entre as versões.
Backup do banco de dados do Django¶
Alternativamente, pode fazer backup do seu banco de dados a utilizar o comando dumpdata
do Django. Dessa forma o backup é agnóstico de banco de dados e pode ser usado caso queira alterar o backend do banco de dados.
Antes de restaurar o banco de dados, precisa usar exatamente a mesma versão do Weblate na qual o backup foi feito. Isto é necessário, pois a estrutura do banco de dados muda entre as versões e acabaria corrompendo os dados de alguma forma. Depois de instalar a mesma versão, execute todas as migrações do banco de dados usando migrate
.
Depois disso, algumas entradas já serão criadas no banco de dados e as terá no backup do banco de dados também. A abordagem recomendada é apagar essas entradas manualmente a usar o shell de gestão (veja Invocando comandos de gestão):
weblate shell
>>> from weblate.auth.models import User
>>> User.objects.get(username='anonymous').delete()
Ficheiros¶
Se tiver espaço de backup suficiente, basta fazer backup de todo o DATA_DIR
. Esta é uma aposta segura, mesmo que inclua alguns ficheiro que não quer. As secções a seguir descrevem o que deve fazer backup e o que pode pular em detalhes.
Dados despejados para backups¶
Alterado na versão 4.7: O despejo do ambiente foi adicionado como environment.yml
para ajudar na restauração nos ambientes Docker.
Armazenados em DATA_DIR
/backups
.
O Weblate despeja vários dados aqui e pode incluir esses ficheiros para backups mais completos. Os ficheiros são atualizados diariamente (requer um servidor de «beats» do Celery em execução, consulte Tarefas de fundo a usar o Celery). Atualmente, isto inclui:
Configurações do Weblate como
settings.py
(existe também a versão expandida emsettings-expanded.py
).Backup de banco de dados PostgreSQL como
database.sql
.Despejo do ambiente como
environment.yml
.
Os backups do banco de dados são salvos como texto simples por padrão, mas eles também podem ser comprimidos ou totalmente ignorados a usar DATABASE_BACKUP
.
To restore the database backup, load it using database tools, for example:
psql --file=database.sql weblate
Repositórios de controle de versão¶
Armazenados em DATA_DIR
/vcs
.
The version control repositories contain a copy of your upstream repositories with Weblate changes. If you have Enviar ao submeter enabled for all your translation components, all Weblate changes are included upstream. No need to back up the repositories on the Weblate side as they can be cloned again from the upstream location with no data loss.
Chaves SSH e GPG¶
Armazenados em DATA_DIR
/ssh
e DATA_DIR
/home
.
Se está a usar chaves SSH ou GPG geradas pelo Weblate, deve fazer backup destes locais. Caso contrário, vai perder as chaves privadas e terá que gerar novamente as novas.
Ficheiros enviados pelo utilizador¶
Armazenados em DATA_DIR
/media
.
Deve fazer o backup de todos os ficheiros enviados pelo utilizador (por exemplo, Contexto visual para cadeias).
Tarefas do Celery¶
A fila de tarefas do Celery pode conter algumas informações, mas geralmente não é necessária para um backup. No máximo, perderá atualizações ainda não processadas para a memória de tradução. Recomenda-se realizar a atualização de texto completo ou repositório ao restaurar de qualquer maneira, de modo que não há problema em perdê-las.
Veja também
Linha de comando para backup manual¶
Usando uma tarefa de cron, pode configurar um comando do Bash para ser executado diariamente, por exemplo:
$ tar -Jcf ~/backup/weblate-backup-$(date -u +%Y-%m-%d_%H%M%S).xz backups vcs ssh home media fonts secret
Pode ajustar a lista de pastas e ficheiros às suas necessidades. Para evitar gravar a memória de tradução (na pasta backups), pode usar:
$ tar -Jcf ~/backup/weblate-backup-$(date -u +%Y-%m-%d_%H%M%S).xz backups/database.sql backups/settings.py vcs ssh home media fonts secret
Restaurar backup manual¶
Restaure todos os dados dos quais tenha feito backup.
Atualize todos repositórios usando o
updategit
.weblate updategit --all
Mover uma instalação do Weblate¶
Realoque a instalação de um sistema diferente, a seguir as instruções de backup e restauração acima.