Como sincronizar apenas um tipo de arquivo com o Unison?

Como sincronizar apenas um tipo de arquivo com o Unison?

Digamos que eu queira sincronizar uma pasta com uníssono, mas quero sincronizar apenas arquivos .jpg.

Como eu poderia fazer isso?

Responder1

Você precisa adicionar as seguintes linhas ao seu perfil:

ignore = Name ?*
ignorenot = Name *.jpg

Responder2

Oito anos depois... o aceito não ignora adequadamente arquivos sem ponto final, ou dotfiles.

E qualquer padrão (digamos, Regex ^((?!.jpg).)*$) que corresponda a esses também engolirá diretórios que possam ter .jpg como filho. (Consulte "Unison começa a detectar atualizações..." emIgnorando caminhosno manual.)

A única maneira que encontrei é deixar a sincronização prosseguir com os arquivos extras incluídos e, em seguida, usar

find "$DEST" --type f ! -iname "*.jpg" -delete
find "$DEST" --type d -empty -delete

para matá-los e depois limpar os diretórios vazios. (No meu caso, eu realmente fiz

find "$DEST" --type d -empty ! -name ".stfolder" -delete

para preservar um diretório de marcadores SyncThing - não pergunte.)

Uma consequência potencialmente ruim disso é copiar muitos dados extras por um curto período de tempo - no meu caso, alguns 3,5 GB são movidos de uma partição para outra e são imediatamente excluídos.

informação relacionada