Gostaria de copiar para backup um home
diretório de usuário Linux com vários GBs de dados e os arquivos de configuração usuais. O diretório de origem e o diretório de backup devem ter exatamente omesmoconteúdo. O sistema operacional é o Lubuntu.
O diretório contém arquivos e subdiretórios ocultos. Depois de pesquisar um pouco no Google, descobri que
cp -r /source-directory /backup-directory
era o comando apropriado.
O sistema de arquivos do diretório de origem é ext4 e o diretório de destino é NTFS. Após a cópia, diff -qr /source-directory /backup-directory
não há saída (então suponho que não haja diferenças). Mas du
, ou du -b
ou du --apparent-size
todos fornecem sempre saídas diferentes para o diretório de origem e o diretório de backup.
Por que? O comando estava errado ou esse uso está du
errado?
Responder1
Blocos adicionais são alocados, conforme necessário, aos diretórios à medida que arquivos e subdiretórios são adicionados. A remoção subsequente desses arquivos e subdiretórios não resulta no descarte da alocação agora vazia/reutilizável. Portanto, é muito comum que o diretório de destino de uma operação de cópia seja um pouco menor que sua origem.
Você pode diff
recursivamente os diretórios de origem e destino para confirmar que tudo foi copiado se desejar uma confirmação fuzzy.
Além disso, rsync
também é ideal para replicar estruturas:
rsync -avz /source-directory/ /backup-directory
A barra final no diretório de origem significa que o nome do diretório de origem não está incluído no diretório de backup como seu primeiro subdiretório.
As -avz
opções dizem rsync
para copiar no modo de arquivo para preservar permissões, propriedades, links simbólicos, etc., usando compactação durante o processo de transferência e relatando ações detalhadamente.
Responder2
Sistemas de arquivos diferentes podem ter sobrecarga diferente ao alocar espaço para arquivos. Além disso, a forma como as entradas do diretório são armazenadas pode ser diferente. Você infelizmente não contao queas diferentes saídas são.