Início
» Como fazer
»
Transfira dados do Nextcloud para um disco rígido externo sem comprometer o armazenamento.
Transfira dados do Nextcloud para um disco rígido externo sem comprometer o armazenamento.
Para uma instalação Linux convencional, monte a unidade externa de forma permanente, copie todo o diretório de dados enquanto o Nextcloud estiver offline e, em seguida, crie um link simbólico do caminho original para o novo local. Não altere o datadirectorycaminho diretamente config.php: o Nextcloud rastreia o armazenamento local por caminho absoluto, portanto, uma alteração direta do caminho pode resultar em arquivos e compartilhamentos órfãos.
Este exemplo pressupõe a instalação de um pacote ou arquivo compactado. As instalações do Docker, Snap e de appliances mapeiam os caminhos de forma diferente; adapte a montagem à sua implementação em vez de copiar esses caminhos do host indiscriminadamente.
O que está confirmado e o que depende do seu servidor.
Ponto
O que fazer
Verificado: O Nextcloud usa o caminho absoluto para identificar o armazenamento local. Uma movimentação descuidada pode resultar em arquivos ou compartilhamentos órfãos.
Mantenha o caminho configurado estável com um link simbólico; preserve todo o conteúdo, incluindo .ncdata.
Depende da configuração: o caminho dos dados, o usuário HTTP, o sistema de arquivos e os nomes dos serviços variam.
Verifique sua configuração efetiva e confirme se o disco preserva a propriedade e as permissões necessárias do Linux.
Dependente do disco: não é possível garantir uma inicialização e alimentação confiáveis.
Monte o disco usando o UUID, teste a montagem após a reinicialização e impeça o Nextcloud de iniciar quando o disco de dados estiver ausente.
O recurso de montagem de armazenamento externo do app Arquivos adiciona um local secundário; ele não move o diretório de dados principal. Use-o para uma pasta ou compartilhamento extra e migre o diretório de dados quando os arquivos e metadados do próprio servidor precisarem estar na unidade.
1. Faça backup do Nextcloud e identifique o caminho de origem.
Faça backup do banco de dados config/, diretório de dados, aplicativos personalizados e temas. Confirme se o backup do banco de dados pode ser restaurado; copiar apenas os arquivos não garante uma reversão completa.
Encontre o caminho dos dados em config/config.phpou com occ config:system:get datadirectory, e então identifique o usuário HTTP. Exemplos usam www-datae /var/www/nextcloud/data; substitua pelos seus valores reais. Não formate uma unidade que contenha arquivos importantes.
Ilustração: uma visualização do utilitário de disco mostra a unidade externa e os detalhes do sistema de arquivos para confirmação antes de montá-la para o Nextcloud.
2. Monte a unidade em um caminho estável.
Execute o comando lsblk -fe anote o UUID do sistema de arquivos da partição. Nomes como esse /dev/sdb1podem mudar, portanto, use o UUID na configuração de montagem.
Para um servidor Linux usando ext4, crie um ponto de montagem e adicione uma linha como esta ao arquivo /etc/fstab, substituindo o UUID de exemplo pelo UUID real:
Use o tipo já existente na partição; esta linha não a formata. Verifique se o sistema de arquivos preserva a propriedade e as permissões necessárias para o Nextcloud.
Monte e verifique antes de inserir quaisquer dados:
sudo mkdir -p /srv/nextcloud-disk
sudo mount /srv/nextcloud-disk
findmnt /srv/nextcloud-disk
Confirme se a saída identifica a partição externa. Se estiver usando o systemd nofail, também bloqueie os serviços web/PHP na montagem; caso contrário, a ausência de um disco pode deixar um diretório de ponto de montagem vazio que recebe gravações. Um módulo do systemd pode usar o systemd RequiresMountsFor=/srv/nextcloud-disk. Mantenha a unidade conectada enquanto o Nextcloud estiver em execução.
Ilustração: uma entrada UUID na tabela do sistema de arquivos representa uma configuração de montagem persistente, em vez de um atalho para o nome do dispositivo.
3. Coloque o Nextcloud em modo de manutenção e copie os dados.
O modo de manutenção bloqueia logins, mas não interrompe todas as tarefas agendadas. Pause o cron do Nextcloud ou seu temporizador systemd, pare os clientes de sincronização e interrompa os serviços web/PHP antes de copiar os dados para evitar que solicitações alterem arquivos durante a migração.
Com o agendador desativado e os serviços web/PHP interrompidos, copie o diretório de dados como raiz para preservar a propriedade, as permissões, as ACLs e os arquivos ocultos:
A barra invertida final copia o conteúdo do diretório. Mantenha a cópia antiga; verifique rsyncse há erros e confirme se .ncdataela está presente no nível superior do novo diretório.
Ilustração: uma visualização de cópia do terminal representa a transferência do diretório de dados completo enquanto o Nextcloud está parado.
4. Preserve o caminho antigo com um link simbólico.
O manual de solução de problemas do Nextcloud recomenda criar um link simbólico do caminho original para o novo diretório. Após verificar a cópia, renomeie o diretório antigo para "rollback" e crie o link:
Confirme se o caminho resolve para /srv/nextcloud-disk/data. O usuário da web deve percorrer os diretórios pai e ler .ncdatae gravar no destino:
sudo -u www-data test -r /var/www/nextcloud/data/.ncdata
sudo -u www-data test -w /var/www/nextcloud/data
Se uma verificação falhar, corrija a propriedade ou as permissões do diretório pai para o seu usuário web; não torne o diretório gravável por todos. Alguns servidores web exigem links simbólicos. Se isso não for possível, não edite oc_storagesmanualmente: o Nextcloud considera esse método não suportado e alerta que ele pode corromper o banco de dados.
Ilustração: a visualização do terminal mostra o caminho de dados original vinculado ao diretório da unidade externa.
5. Reinicie e verifique antes de remover a cópia de reversão.
Inicie o serviço web/PHP e reative o agendador. Confirme a montagem e o link simbólico e, em seguida, desative o modo de manutenção.
Faça login, abra arquivos e compartilhamentos existentes e carregue/baixe um arquivo pequeno. Verifique os logs do Nextcloud e do servidor web e, em seguida, reinicie o sistema durante uma janela de manutenção para confirmar se os discos estão montados antes de iniciar o Nextcloud.
Mantenha data.pre-moveo backup do banco de dados até que a reinicialização e a sincronização normal sejam concluídas com sucesso. Se a migração falhar, ative o modo de manutenção, pare o aplicativo e restaure o diretório e o estado do serviço originais. Um backup files:scannão pode corrigir uma montagem incorreta.
Verificação
Verifique se o disco é montado na inicialização, se o caminho original é resolvido para ele, se o usuário da web consegue ler e gravar arquivos e se os arquivos existentes, além de um pequeno upload, funcionam corretamente. Se o Nextcloud reportar arquivos ausentes após a reinicialização, pare o aplicativo e verifique a montagem antes de permitir gravações.