Wie synchronisiere ich nur einen Dateityp mit Unison?

Wie synchronisiere ich nur einen Dateityp mit Unison?

Angenommen, ich möchte einen Ordner mit Unison synchronisieren, aber nur JPG-Dateien.

Wie konnte ich das machen?

Antwort1

Sie müssen Ihrem Profil die folgenden Zeilen hinzufügen:

ignore = Name ?*
ignorenot = Name *.jpg

Antwort2

Acht Jahre später ... ignoriert das Akzeptierte Dateien ohne Punkt oder Dotfiles nicht richtig.

Und jedes Muster (z. B. Regex ^((?!.jpg).)*$), das diesen entspricht, verschlingt auch Verzeichnisse, die möglicherweise .jpg als untergeordnetes Element haben. (Siehe „Unison beginnt mit der Erkennung von Updates...“ unterPfade ignorierenim Handbuch.)

Die einzige Möglichkeit, die ich gefunden habe, besteht darin, die Synchronisierung mit den zusätzlichen Dateien fortzusetzen und dann

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

um sie zu töten, und dann die leeren Verzeichnisse zu bereinigen. (In meinem Fall habe ich tatsächlich

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

um ein SyncThing-Markierungsverzeichnis beizubehalten – fragen Sie nicht.)

Eine potenziell schlimme Folge hiervon ist das kurzfristige Kopieren großer Mengen zusätzlicher Daten – in meinem Fall werden etwa 3,5 GB von einer Partition auf eine andere verschoben und dann sofort wieder gelöscht.

verwandte Informationen