27Jun
Rsync é um dos utilitários mais úteis para um administrador de servidor, mas sincroniza tudo o 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
Este é 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/ arquivo de exclusão /path/to/ fonte /path/to/ destA coisa complicada com rsync é que você precisa usar um caminho relativo quando você está tentando excluir coisas, porque quando tentacombine as exclusões, não usará a primeira parte do caminho para a partida. .. é estranho.
Diga, por exemplo, que você está tentando fazer o backup do /data/web/ e enviá-lo para outro servidor, então você usa um comando como rsync -a /data/web/ user @ server: /backups/data/web/ para que aconteça. .. mas você realmente gostaria de ignorar a sincronização do /data/web/cache/pasta. Quando o rsync vai verificar sua lista de exclusão para cada item que ele sincroniza, ele não verificará o /data/web/cache/, pois seu comando rsync original está baseado na pasta /data/web/.Apenas verificará "cache /" na lista. Então, você precisará colocar o "cache" na lista, não o caminho completo. Exemplo:
rsync -a --exclude-from = /data/ exclusões /data/web/ /backups/Agora para excluir /data/web/ cache e /data/web/ temp de rsync usando este comando, removeríamos a porção /data/web/ do caminho e o arquivo de exclusão /data/ simplesmente conteria isso:
cache * temp *Você notará que eu adicionei o * no caminho, para garantir que ele coincida com qualquer coisa que comece com "cache" no início. Você pode usar este padrão de estrelas por razões mais úteis se você quiser - digamos que deseja excluir todos os arquivos. txt de serem sincronizados. Você iniciaria o padrão com a estrela para se certificar de que sempre combina e adicione isso:
*. txtIsso asseguraria que esses tipos de arquivos sejam ignorados durante uma sincronização.É bastante simples além disso.
Excluindo um único item
Esta técnica é muito menos útil, mas você pode usá-lo na marcha, se precisar. Se você estiver configurando um script para usar rsync, o que você costuma ser, você deve demorar o minuto extra para excluir de uma lista de arquivos para facilitar a manutenção no futuro. A sintaxe é muito semelhante:
rsync --exclude = relativa /path/to/ exclusão / fonte / destO mesmo caminho relativo deve ser aplicado aqui como acima.