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.