Como migrar dados preservando permissões e datas no Linux
Realize a migração de dados entre diretórios ou servidores Linux utilizando rsync ou SCP, preservando permissões e datas originais dos arquivos.
Orientar o procedimento de migração de dados entre diretórios locais ou servidores Linux, preservando permissões, estrutura de pastas e datas originais dos arquivos.
RequisitosAntes de iniciar o procedimento, verifique se todos os requisitos abaixo são atendidos:
- Acesso administrativo ao servidor Linux utilizando root ou sudo
- Espaço em disco disponível no diretório de destino
- Ferramenta rsync instalada no servidor
- Conectividade de rede entre os servidores, em migrações remotas
- Acesso SSH habilitado no servidor de origem, em migrações remotas
Verificar espaço disponível no destino
- Acesse o terminal do servidor Linux.
- Execute o comando abaixo para validar o espaço disponível no diretório de destino:
- Verifique se existe espaço suficiente para receber todos os arquivos da migração.
Verificar instalação do rsync
- Execute o comando abaixo para validar se o rsync está instalado:
- Caso o rsync não esteja instalado, execute um dos comandos abaixo conforme a distribuição Linux utilizada:
Ubuntu ou Debian:
sudo apt install rsyncCentOS ou Red Hat:
sudo yum install rsyncRealizar migração local utilizando rsync
Utilize este procedimento quando a origem e o destino estiverem no mesmo servidor.
- Execute o comando abaixo:
- Aguarde a conclusão da cópia.
- Verifique se o processo finalizou sem mensagens de erro.
ℹ️ O parâmetro -a preserva permissões, datas, links simbólicos e estrutura de diretórios.
Realizar migração remota utilizando rsync via SSH
Utilize este procedimento quando a origem e o destino estiverem em servidores diferentes.
- Acesse o servidor de destino.
- Execute o comando abaixo:
- Informe a senha do usuário remoto quando solicitado.
- Aguarde a conclusão da transferência.
ℹ️ O parâmetro -z realiza compressão durante a transferência.
Realizar migração remota utilizando SCP
Utilize este procedimento quando for necessário realizar uma cópia simples entre servidores.
- Execute o comando abaixo no servidor de destino:
- Informe a senha do usuário remoto.
- Aguarde a conclusão da cópia.
⚠️ O SCP não permite retomada automática de transferências interrompidas.
Configurar autenticação SSH sem senha
Utilize este procedimento quando a migração precisar ocorrer sem interação manual.
- Gere a chave SSH:
- Copie a chave para o servidor de origem:
- Valide a conexão SSH:
- Verifique se o acesso ocorre sem solicitação de senha.
Validar o tamanho dos diretórios
- Execute o comando abaixo no diretório de origem:
- Execute o comando abaixo no diretório de destino:
- Compare os tamanhos exibidos.
ℹ️ Diferenças pequenas podem ocorrer devido a links simbólicos.
Validar permissões e datas dos arquivos
- Execute o comando abaixo no diretório de origem:
- Execute o comando abaixo no diretório de destino:
- Compare permissões, proprietário e datas dos arquivos.
Validar quantidade de arquivos
- Execute o comando abaixo no diretório de origem:
- Execute o comando abaixo no diretório de destino:
- Compare os valores exibidos.
Após concluir o procedimento:
- Os arquivos serão copiados para o diretório de destino
- As permissões originais serão preservadas
- As datas de criação e modificação serão mantidas
- A estrutura de diretórios permanecerá inalterada
- O número de arquivos no destino será equivalente ao da origem
- Nunca exclua os arquivos da origem antes de validar a migração
- Utilize preferencialmente o rsync em migrações grandes ou críticas
- Verifique a conectividade SSH antes de iniciar migrações remotas
- Interrupções durante a cópia podem exigir nova sincronização dos arquivos
| Sintoma | Verificação recomendada |
|---|---|
| Permission denied | Execute o comando utilizando sudo ou root |
| No space left on device | Valide o espaço disponível utilizando df -h |
| Connection refused | Verifique se o servidor remoto está online e com SSH habilitado |
| rsync: command not found | Instale o rsync no servidor |
| Host key verification failed | Execute uma conexão SSH manual e aceite a chave do servidor |
- Compatível com distribuições Linux que suportam rsync e SCP
- Requer acesso SSH para migrações entre servidores
