Como migrar com segurança uma pasta de dados do Nextcloud para um disco rígido externo

Mover uma pasta de dados do Nextcloud para um disco rígido externo maior parece uma tarefa simples de copiar e editar. Mas não é. O detalhe importante é que o Nextcloud identifica o armazenamento local pelo seu caminho absoluto no disco. Se esse caminho for alterado sem cuidado, o servidor pode tratar os arquivos como se estivessem em um local de armazenamento diferente, o que pode levar a registros de arquivos duplicados ou órfãos, metadados corrompidos ou perda de relações de compartilhamento.

A abordagem prática mais segura para uma instalação existente é, portanto, manter o Nextcloud acessando o mesmo caminho do diretório de dados enquanto move os bytes para o disco externo. O Manual de Administração atual do Nextcloud recomenda explicitamente mover o diretório e, em seguida, criar um link simbólico do caminho original para o novo local. O manual também alerta que a alteração direta datadirectoryrequer alterações no banco de dados e não é um método de migração suportado. Consulte o guia de solução de problemas do diretório de dados do Nextcloud .

Antes de começar: O que é verificado e o que depende da sua configuração?

PerguntaResposta prática
Posso simplesmente editar datadirectoryaqui config.php?Não é seguro fazer isso sozinho. O Nextcloud documenta que alterar o caminho absoluto do armazenamento local pode quebrar os relacionamentos do banco de dados. Prefira preservar o caminho original com um link simbólico.
Preciso de um backup completo?Sim. A documentação de backup do Nextcloud inclui a configuração, o diretório de dados, o banco de dados e os dados relevantes de aplicativos/temas personalizados. Não considere o disco antigo como sua única cópia de restauração.
O disco externo precisa ser ext4?Este procedimento não exige um sistema de arquivos específico. Os exemplos abaixo usam ext4 porque o comportamento normal de propriedade e permissões do Linux é simples. Outros sistemas de arquivos podem exigir opções de montagem diferentes.
Devo correr files:scan --alldepois?Geralmente não é indicado para uma movimentação que preserve o caminho original. Use este recurso quando os arquivos estiverem realmente ausentes do cache de arquivos ou quando os arquivos foram copiados para a árvore de dados fora do Nextcloud e precisam de uma nova verificação imediata.
Um disco rígido USB é tão confiável quanto um disco interno?Isso depende do gabinete, do cabo, da alimentação, do sistema de arquivos e do host. A indisponibilidade de uma unidade removível representa um risco de disponibilidade, portanto, torne a montagem persistente e verifique-a antes de iniciar o Nextcloud.

1. Monte a unidade externa em um local estável.

Primeiro, identifique o dispositivo e o sistema de arquivos. No Linux, comandos como `fstab` lsblk -fe `fstab` blkidmostram o UUID do sistema de arquivos. Evite criar uma configuração permanente em torno de um nome de dispositivo como `/usr/local/bin`; os nomes de dispositivos no Linux podem mudar quando hardware é adicionado ou a ordem de detecção é alterada. O manual do fstab/dev/sdb1 do Linux recomenda identificadores UUID ou LABEL para montagens persistentes.

lsblk -f
sudo blkid /dev/sdb1
sudo mkdir -p /mnt/nextcloud-data-storage

Adicione uma entrada adequada em /etc/fstab. Substitua o UUID e o tipo de sistema de arquivos de exemplo pelos valores do seu próprio disco:

UUID=YOUR-FILESYSTEM-UUID  /mnt/nextcloud-data-storage  ext4  defaults  0  2

Em seguida, teste a montagem antes de mexer no Nextcloud:

sudo mount -a
findmnt /mnt/nextcloud-data-storage
df -h /mnt/nextcloud-data-storage
Terminal Linux exibindo lsblk, blkid, uma entrada UUID no fstab, mount -a e findmnt para a unidade externa do Nextcloud.

Verifique o disco externo pelo UUID e confirme o ponto de montagem antes de mover quaisquer arquivos do Nextcloud.

Conceito errado comum: um diretório com o nome /mnt/nextcloud-data-storagenão prova que o disco está montado nele. Se a unidade estiver ausente, o diretório do ponto de montagem ainda pode existir no disco do sistema. Ação: use `cd` findmntou ` mountpointcd` sempre que testar a migração e após reiniciar o sistema.

2. Faça backup do Nextcloud e interrompa as gravações.

O guia de backup atual do Nextcloud afirma que um backup recuperável inclui o diretório de dados, a configuração, o banco de dados e outros conteúdos específicos da implantação, como aplicativos e temas personalizados. Consulte a documentação oficial de backup do Nextcloud e certifique-se de que o backup esteja armazenado em um local diferente da unidade que você está prestes a reparticionar ou reutilizar.

Em seguida, habilite o modo de manutenção no diretório de instalação do Nextcloud. No Debian e no Ubuntu, a conta do servidor web geralmente é www-data:

cd /var/www/nextcloud
sudo -E -u www-data php occ maintenance:mode --on

As diretrizes de migração também indicam que nenhuma tarefa cron deve ser executada durante a migração e recomendam a interrupção dos servidores web/de aplicativos enquanto os dados estão sendo realocados. A forma de realizar essa interrupção depende da implantação: Apache, Nginx com PHP-FPM, Docker Compose, Snap, AIO e Kubernetes possuem diferentes limites de serviço.

Ação: desative a entrada cron do Nextcloud ou pare o serviço cron relevante e, em seguida, pare o serviço web/aplicativo antes da cópia final. Se o conjunto de dados for muito grande, você pode pré-carregar o disco externo enquanto o site estiver online, entrar no modo de manutenção, interromper os processos de gravação e executar uma rsyncpassagem final para capturar as alterações.

3. Copie todo o diretório de dados, incluindo arquivos ocultos.

Não copie apenas as pastas do usuário. O diretório de dados também contém arquivos ocultos, como .ncdatadados de aplicativos, que pertencem ao armazenamento. O Nextcloud menciona explicitamente arquivos ocultos/com ponto (.htaccess) em seu procedimento de movimentação.

Suponha que o diretório atual seja <diretório_atual> /var/www/nextcloud/datae o disco externo esteja montado em <diretório_externo> /mnt/nextcloud-data-storage. Crie o destino e copie o diretório:

sudo mkdir -p /mnt/nextcloud-data-storage/data
sudo rsync -Aax --info=progress2   /var/www/nextcloud/data/   /mnt/nextcloud-data-storage/data/

A documentação de restauração do Nextcloud usa rsync -Aaxcomo exemplo a preservação da árvore de diretórios e metadados. Para instalações muito grandes, execute uma segunda passagem após a interrupção de todos os processos de gravação e inspecione a saída. As opções exatas necessárias podem variar dependendo se a sua origem utiliza ACLs, atributos estendidos, sistemas de arquivos incomuns ou armazenamento montado em contêineres.

Terminal mostrando o Nextcloud em modo de manutenção, cron parado e rsync copiando todo o diretório de dados, incluindo a pasta .ncdata, para um disco externo.

Interrompa as gravações em segundo plano e copie toda a árvore de dados, incluindo os arquivos de metadados ocultos do Nextcloud.

Conceito errado comum: uma cópia concluída significa que a migração terminou. Não significa. O Nextcloud ainda precisa do caminho esperado e o usuário HTTP precisa conseguir acessar e gravar no novo local. Ação: verifique a quantidade de arquivos ou os checksums de amostra antes de alterar os caminhos e mantenha o diretório de origem intacto até que o novo armazenamento seja testado.

4. Preserve o caminho de dados original com um link simbólico.

Esta é a principal medida de segurança. Suponha que o Nextcloud esteja usando atualmente:

'datadirectory' => '/var/www/nextcloud/data',

Não altere esse valor para a migração recomendada que preserva o caminho. Em vez disso, mantenha o diretório antigo como uma cópia de reversão e substitua-o por um link simbólico apontando para a unidade externa:

sudo mv /var/www/nextcloud/data /var/www/nextcloud/data.old
sudo ln -s /mnt/nextcloud-data-storage/data /var/www/nextcloud/data
ls -ld /var/www/nextcloud/data

O Nextcloud documenta esse método de link simbólico porque o armazenamento local é identificado pelo caminho absoluto. Com o link estabelecido, o Nextcloud continua a enxergar /var/www/nextcloud/dataos dados mesmo que eles estejam no disco externo.

Verifique a titularidade antes de fazer alterações amplas nas permissões:

stat -c '%U:%G %a %n' /var/www/nextcloud/data.old
stat -c '%U:%G %a %n' /mnt/nextcloud-data-storage/data
namei -l /mnt/nextcloud-data-storage/data

O usuário HTTP deve ter permissão para navegar pelos diretórios pai e ler/escrever no diretório de dados. O proprietário correto varia de acordo com a distribuição e o método de instalação. A documentação do Nextcloud sobre o usuário occ observa que a conta HTTP é geralmente a mesma www-datano Debian/Ubuntu, apacheno Fedora/CentOS e diferente em outros sistemas.

Terminal mostrando verificações de propriedade e um link simbólico do caminho de dados original do Nextcloud para a unidade externa.

Mantenha o caminho original do diretório de dados e aponte-o para o disco externo com um link simbólico.

Conceito errôneo comum: executar uma chmod 777correção genérica recursivamente resolve o problema de permissões. Isso pode mascarar o problema real e, ao mesmo tempo, comprometer a segurança. Ação: compare o novo diretório com a propriedade e as permissões originais, preserve as ACLs quando houver e faça apenas a correção mínima necessária para o usuário HTTP.

E se você realmente quiser mudar datadirectory?

O Nextcloud descreve um procedimento sem links simbólicos, mas a mesma documentação o classifica como não suportado e alerta que ele pode danificar o banco de dados. Isso exige tanto a alteração config.phpquanto a atualização da entrada correspondente local::/old-data-dir/na oc_storagestabela.

Isso não é simplesmente uma sintaxe alternativa para a mesma operação; altera o identificador de armazenamento que o Nextcloud registra internamente. Ação: use o método de link simbólico, a menos que você tenha um backup testado, um processo de restauração testado e um motivo operacional específico para remover o caminho antigo. Para uma nova instalação do Nextcloud, escolha o local final dos dados durante a instalação. O Nextcloud afirma explicitamente que isso é mais fácil do que movê-los posteriormente.

5. Reinicie, verifique a montagem e coloque o Nextcloud online novamente.

Antes de iniciar o Nextcloud, verifique se o sistema de arquivos externo está realmente montado e se o link simbólico aponta para ele:

findmnt /mnt/nextcloud-data-storage
readlink -f /var/www/nextcloud/data
sudo -E -u www-data test -r /var/www/nextcloud/data/.ncdata && echo readable

Reinicie o serviço web/aplicativo e reative a tarefa cron do Nextcloud usando o método apropriado para sua implementação. Em seguida, desative o modo de manutenção e verifique o status do servidor.

cd /var/www/nextcloud
sudo -E -u www-data php occ maintenance:mode --off
sudo -E -u www-data php occ status

Faça login e teste várias operações: abra um arquivo existente, carregue um novo arquivo, renomeie-o, exclua-o, restaure-o da Lixeira e confirme se outro cliente consegue sincronizá-lo. Reinicie o host uma vez e repita o processo findmnt; isso detecta uma /etc/fstabentrada inválida antes que ela se torne um problema durante uma interrupção.

O terminal verifica o status do Nextcloud e a montagem do sistema de arquivos externo, juntamente com a interface do Nextcloud Files.

Após a troca, verifique a montagem do sistema operacional e as operações normais de arquivos no Nextcloud.

Você precisa de quê occ files:scan --all?

Não automaticamente. A documentação do comando `files` do Nextcloud afirma que files:scanele atualiza o cache de arquivos para arquivos novos ou alterados e pode ser útil após uma cópia manual ou ao investigar inconsistências no cache. Uma movimentação que preserva o caminho, executada corretamente, visa manter os mesmos arquivos e o mesmo caminho lógico de armazenamento local; portanto, uma varredura completa não deve ser a etapa padrão de precaução.

Ação: primeiro, teste a interface do usuário e compare os arquivos esperados. Se arquivos estiverem faltando no Nextcloud, mesmo que estejam presentes no disco, use uma verificação direcionada ou, quando justificado, uma verificação completa files:scan --all. Lembre-se de que uma verificação completa em uma instalação grande pode levar um tempo considerável.

Lista de verificação final para migração

  • Existe um banco de dados, configuração e backup de dados atuais fora do disco que está sendo migrado.
  • O sistema de arquivos externo possui uma montagem estável configurada por UUID ou LABEL.
  • findmntConfirma se a unidade externa está realmente instalada.
  • As gravações do Nextcloud e as tarefas cron são interrompidas durante a sincronização final.
  • O diretório de dados completo, incluindo .ncdata, foi copiado.
  • O datadirectorycaminho original do arquivo é preservado por meio de um link simbólico.
  • O usuário HTTP pode percorrer o caminho de montagem e ler/escrever os dados.
  • O Nextcloud inicia sem erros de armazenamento e occ statusfunciona normalmente.
  • Os testes de upload, renomeação, exclusão, restauração, download e sincronização foram concluídos com sucesso.
  • O servidor foi reiniciado uma vez para comprovar que a unidade externa é montada corretamente na inicialização.
  • O diretório de dados antigo não foi excluído até que a nova configuração fosse testada e um backup separado fosse realizado.

A ideia mais importante é simples: migrar dados do Nextcloud não se resume a copiar o sistema de arquivos. O caminho faz parte da identidade do armazenamento local do Nextcloud. Preserve esse caminho sempre que possível, configure a unidade externa como um ponto de montagem confiável do sistema, interrompa as gravações durante a cópia final e mantenha uma cópia de reversão até que o novo armazenamento tenha passado por testes de aplicação e uma reinicialização.

Deixar um comentário

10 Melhores Ferramentas de Varredura de Ping para Encontrar Dispositivos na Sua Rede

10 Melhores Ferramentas de Varredura de Ping para Encontrar Dispositivos na Sua Rede

Compare 10 ferramentas de varredura de ping para descoberta rápida de LAN, varredura multiplataforma e gerenciamento de endereços IP. Saiba o que uma varredura pode — e não pode — revelar.

6 Melhores Ferramentas de Gerenciamento de Rede para Monitorar o Desempenho

6 Melhores Ferramentas de Gerenciamento de Rede para Monitorar o Desempenho

Compare seis ferramentas de gerenciamento de rede para monitoramento de desempenho, incluindo cobertura SNMP, mapeamento, alertas, modelos de implantação e custo-benefício.

Melhores analisadores de Wi-Fi para Windows, iOS e Android

Melhores analisadores de Wi-Fi para Windows, iOS e Android

Compare as melhores opções de analisadores de Wi-Fi para Windows, iPhone e Android, incluindo ferramentas para congestionamento de canais, cobertura de sinal, mapas de calor e solução de problemas de rede.

Monitor de Ping: 7 ferramentas gratuitas e de código aberto para disponibilidade de rede

Monitor de Ping: 7 ferramentas gratuitas e de código aberto para disponibilidade de rede

Compare sete monitores de ping gratuitos e de código aberto, desde suítes completas de rede até sondas de latência específicas, e escolha a opção mais adequada para disponibilidade, perda de pacotes e histórico.

Taxa de transferência de rede versus largura de banda: o que significam e como afetam o desempenho

Taxa de transferência de rede versus largura de banda: o que significam e como afetam o desempenho

Veja como a taxa de transferência de rede difere da largura de banda, o que causa desempenho lento ou instável e quais ferramentas podem testar um caminho ou monitorar o tráfego.

Melhor software de servidor SFTP para transferências seguras de arquivos

Melhor software de servidor SFTP para transferências seguras de arquivos

Compare softwares de servidor SFTP confiáveis ​​para Windows e Linux, incluindo OpenSSH, Bitvise, SolarWinds e SFTPGo. Encontre a solução ideal para suas necessidades de segurança e transferência de arquivos.

Melhores práticas de monitoramento de rede: o que monitorar e quais ferramentas usar

Melhores práticas de monitoramento de rede: o que monitorar e quais ferramentas usar

Crie um monitoramento de rede prático com cobertura clara de dispositivos, métricas de desempenho úteis, alertas acionáveis ​​e uma comparação entre SolarWinds NPM, PRTG e OpManager.

As 7 melhores ferramentas de gerenciamento de endereços IP para equipes de rede

As 7 melhores ferramentas de gerenciamento de endereços IP para equipes de rede

Compare sete ferramentas de gerenciamento de endereços IP para descoberta de sub-redes, coordenação de DNS e DHCP, inventário de rede e IPAM de código aberto.

10 Melhores Ferramentas de Varredura de Rede para Descobrir Dispositivos e IPs

10 Melhores Ferramentas de Varredura de Rede para Descobrir Dispositivos e IPs

Compare ferramentas de varredura de rede para descoberta rápida de dispositivos, varreduras de IP multiplataforma e IPAM corporativo, com orientações sobre como escolher a opção mais adequada para sua rede.

6 ferramentas de monitoramento de rede Linux para dispositivos, hosts e tráfego.

6 ferramentas de monitoramento de rede Linux para dispositivos, hosts e tráfego.

Compare seis ferramentas de monitoramento de rede Linux para descoberta de dispositivos SNMP, gráficos de interface, métricas de host, verificação de serviços e fluxos de tráfego.