Como as regras de filtragem show / hide do rsync diferem de include / exclude?

7

Estou trabalhando em alguns scripts rsync intensos e realmente quero entender as opções à minha disposição. Em geral, a página do manual é o melhor lugar para obter informações, com prosa densa e precisa. Uma omissão notável é a descrição dos filtros show e hide . Eles aparecem nesta tabela na seção FILTER RULES :

exclude, - specifies an exclude pattern.
include, + specifies an include pattern.
merge, . specifies a merge-file to read for more rules.
dir-merge, : specifies a per-directory merge-file.
hide, H specifies a pattern for hiding files from the transfer.
show, S files that match the pattern are not hidden.
protect, P specifies a pattern for protecting files from deletion.
risk, R files that match the pattern are not protected.
clear, ! clears the current include/exclude list (takes no arg)

A única outra referência está na seção de descrição do modificador de regras:

An s is used to indicate that the rule applies to the sending side.  When
a  rule  affects  the  sending  side, it prevents files from being trans-
ferred.   The  default  is  for  a  rule  to  affect  both  sides  unless
--delete-excluded  was  specified,  in  which  case  default rules become
sender-side only.  See also the hide (H) and show (S) rules, which are an
alternate way to specify sending-side includes/excludes.

Isso parece indicar que são iguais, mas apenas do lado do remetente. Essa é a única diferença? Quais são as implicações disso? Isso afeta apenas a forma como as exclusões são tratadas?

    
por dasil003 30.08.2011 / 01:58

1 resposta

10

Encontrei uma resposta útil para essa pergunta aqui: link

Em suma, a principal diferença é que, com o exclude, o arquivo não é enviado, mas o destinatário é notificado de que existe tal arquivo e não deve excluí-lo se uma das opções de exclusão for usada. Por outro lado, quando o arquivo está oculto, o remetente o ignora completamente, o que significa que o destinatário não tem nenhuma informação sobre a existência do arquivo.

Em outras palavras, quando você simplesmente exclui um arquivo, ele é protegido, ao passo que quando você o oculta, não é. (A menos que você substitua esse comportamento por --delete-excluded .)

    
por 13.03.2012 / 11:20

Tags