Como excluir arquivos do Rsync

Índice:

Como excluir arquivos do Rsync
Como excluir arquivos do Rsync

Vídeo: Como excluir arquivos do Rsync

Vídeo: Como excluir arquivos do Rsync
Vídeo: O GOOGLE LANÇOU UM SISTEMA OPERACIONAL PARA PCS VELHOS - YouTube 2024, Novembro
Anonim
Image
Image

O rsync é um dos utilitários mais úteis para um administrador de servidor, mas é sincronizadotudo por padrão, o que pode ser irritante se seu aplicativo criar muitos arquivos temporários. Veja como excluir arquivos ao usar o rsync.

Excluindo de uma lista em um arquivo

Esse é o método ideal para excluir arquivos e pastas, pois você sempre pode editar a lista e ajustar as coisas, se necessário. Aqui está a sintaxe:

rsync - -exclude-from=/path/to/exclusion-file /path/to/source /path/to/dest

A coisa complicada com o rsync é que você precisa usar um caminho relativo quando está tentando excluir coisas, porque quando ele tenta corresponder as exclusões, ele não usa a primeira parte do caminho para a partida … é estranho.

Digamos, por exemplo, que você está tentando fazer backup / data / web / e enviá-lo para outro servidor, então use um comando como rsync -a / data / web / usuário @ server: / backups / data / web / para torná-lo acontecer … mas você realmente gostaria de pular a sincronização da pasta / data / web / cache /. Quando o rsync vai verificar sua lista de exclusões para cada item que ele sincroniza, ele não verifica / data / web / cache / desde que seu comando rsync original esteja baseado na pasta / data / web /. Apenas verificará "cache /" na lista. Então você precisa colocar "cache" na lista, não o caminho completo. Exemplo:

rsync -a --exclude-from=/data/exclusions /data/web/ /backups/

Agora, para excluir / data / web / cache e / data / web / temp do rsync usando este comando, removeríamos a parte / data / web / do caminho e o arquivo / data / exclusions conteria simplesmente isso:

cache* temp*

Você notará que eu adicionei o * ao caminho, para garantir que ele corresponda a qualquer coisa que comece com "cache" no começo. Você pode usar esse padrão de estrela por motivos mais úteis se quiser - digamos que deseja excluir todos os arquivos.txt de serem sincronizados. Você começaria o padrão com a estrela para ter certeza de que sempre correspondesse e adicionaria isso:

*.txt

Isso garantiria que esses tipos de arquivos sejam ignorados durante uma sincronização. É bem simples além disso.

Excluindo um único item

Essa técnica é muito menos útil, mas você pode usá-la rapidamente se precisar. Se você estiver configurando um script para usar o rsync, o que você geralmente é, você deve aproveitar o minuto extra para excluir de uma lista de arquivos para facilitar a manutenção futura. A sintaxe é muito parecida:

rsync --exclude=relative/path/to/exclusion /source /dest

O mesmo caminho relativo deve ser aplicado aqui como acima.

Recomendado: