rsync - Cópia, Sincronização e Backup de arquivos no Linux
Índice:
- Antes de você começar
- Excluir um arquivo específico
- Excluir um diretório específico
- Excluir vários arquivos ou diretórios
- Excluir vários arquivos ou diretórios com base em um padrão
- Conclusão
O Rsync é um utilitário de linha de comando rápido e versátil que sincroniza arquivos e pastas entre dois locais em um shell remoto.
Com o Rsync, você pode espelhar dados, criar backups incrementais e copiar arquivos entre sistemas. Ao copiar dados, você pode excluir um ou mais arquivos ou diretórios com base em seus nomes ou locais.
Neste tutorial, mostraremos como excluir arquivos e diretórios com o rsync.
Antes de você começar
Você deve ter um conhecimento básico de como o rsync funciona.
Nos exemplos abaixo, usaremos o rsync com a opção
-a
, Isso diz ao rsync para sincronizar diretórios recursivamente, transferir dispositivos especiais e de bloco e preservar links simbólicos, tempos de modificação, grupo, propriedade e permissões.
Ao excluir arquivos ou diretórios, você precisa usar seus caminhos relativos ao diretório de origem.
Existem duas opções para especificar os arquivos e diretórios que você deseja excluir:
- A partir de uma linha de comando, usando a opção
--excludeum arquivo, usando a opção--exclude-from.
Excluir um arquivo específico
Para excluir um arquivo específico, passe o caminho relativo para o arquivo para a opção
--exclude
.
No exemplo a seguir, o arquivo
src_directory/file.txt
não será transferido:
rsync -a --exclude 'file.txt' src_directory/ dst_directory/
Excluir um diretório específico
Excluir um diretório específico é o mesmo que excluir um arquivo, basta passar o caminho relativo para o diretório para a opção
--exclude
como mostrado abaixo:
rsync -a --exclude 'dir1' src_directory/ dst_directory/
rsync -a --exclude 'dir1/*' src_directory/ dst_directory/
Excluir vários arquivos ou diretórios
Para excluir vários arquivos ou diretórios, basta especificar várias opções
--exclude
:
rsync -a --exclude 'file1.txt' --exclude 'dir1/*' --exclude 'dir2' src_directory/ dst_directory/
rsync -a --exclude={'file1.txt', 'dir1/*', 'dir2'} src_directory/ dst_directory/
Se o número de arquivos e / ou diretórios que você deseja excluir for grande, em vez de usar várias opções
--exclude
, você poderá especificar os arquivos e diretórios que deseja excluir em um arquivo e passar o arquivo para a opção
--exclude-from
opção.
O comando abaixo faz exatamente o mesmo que o acima:
rsync -a --exclude-from='exclude-file.txt' src_directory/ dst_directory/
exclude-file.txt
Excluir vários arquivos ou diretórios com base em um padrão
Com o rsync, você também pode excluir arquivos e diretórios com base em um padrão que corresponda ao nome do arquivo ou diretório.
Por exemplo, para excluir todos os arquivos
.jpg
você executaria:
rsync -a --exclude '*.jpg*' src_directory/ dst_directory/
É um pouco mais complicado excluir todos os outros arquivos e diretórios, exceto aqueles que correspondem a um determinado padrão. Digamos que você queira excluir todos os outros arquivos e diretórios, exceto os que terminam em
.jpg
.
Uma opção é usar o seguinte comando:
rsync -a -m --include='*.jpg' --include='*/' --exclude='*' src_directory/ dst_directory/
Ao usar várias opções de inclusão / exclusão, a primeira regra de correspondência se aplica.
-
--include='*.jpg'- Primeiro estamos incluindo todos os arquivos.jpg.--include='*/'- Estamos incluindo todos os diretórios dentro do diretóriosrc_directory. Sem isso, o rsync copiará apenas arquivos*.jpgno diretório de nível superior.-m- Remove os diretórios vazios.
Outra opção seria canalizar a saída do comando find para o rsync:
find src_directory/ -name "*.jpg" -printf %P\\0\\n | rsync -a --files-from=- src_directory/ dst_directory/
-
-printf %P\\0\\n- removerá osrc_directory/do caminho do arquivo.--files-from=-- significa incluir apenas os arquivos da entrada padrão (arquivos passados a partir do comando find).
Conclusão
Neste tutorial, você aprendeu como excluir arquivos e diretórios ao transferir dados com o Rsync. Há muito mais para aprender sobre o Rsync na página do manual do usuário do Rsync.
Personalizar copiar, excluir, mover caixa de diálogo animação no Windows 7
Furado em ver as mesmas cores e animações antigas da cópia, excluir ou mover caixas de diálogo no Windows 7?
Excluir perfis e arquivos de usuário antigos automaticamente no Windows 7 Excluir perfis de usuário anteriores ao número especificado de dias na reinicialização do sistema O Windows 7 permitirá que você exclua automaticamente perfis, arquivos e pastas antigos.
Com o Windows Vista, uma nova configuração de Diretiva de Grupo foi introduzida: Excluir perfis de usuário anteriores ao número especificado de dias na reinicialização do sistema.
Como excluir permanentemente arquivos no android com triturador de arquivos
Saiba como excluir permanentemente arquivos no telefone Android com o File Shredder.







