Linux rsync & Exclude List in Back-in-Time

Linux Betriebssystem

Ambrosius

Well-known member
Themenstarter
Registriert
23 Juni 2022
Beiträge
1.184
Ich nutze gern Back-In-Time als Frontend für rsync. In einem besonderen Fall, in dem ein Ordner einfach bei der Sicherung übersprungen wird, weiss ich gerade nicht ob es ein Bug ist oder ob es sich mit einem der Ausschlussmuster in der Exclusion Filter List beisst. Da ich die zwei Einträge eh nicht so recht verstehe, würd ich gern wissen wie

*~
.Private

genau greifen?
 
*~ schließt alle Dateien und Ordner aus, deren Name auf eine Tilde endet, also zum Beispiel:
  • textfile~
  • .cache~/
  • dokument.doc~
.Private schließt nur genau den Ordner (oder die Datei) aus, die ".Private" heißt.
 
*~ schließt alle Dateien und Ordner aus, deren Name auf eine Tilde endet, also zum Beispiel:
..Dateien, die z.b. gerade von nem Programm geöffnet sind und sozusagen busy sind, ok ich verstehe...Ich dachte die Tilde bezieht sich auf den Home-Ordner, wie er auch genutzt wird..

ne Private Dateiendung ist mir so noch nciht untergekommen, soll aber alles geben..
 
..Dateien, die z.b. gerade von nem Programm geöffnet sind und sozusagen busy sind, ok ich verstehe...Ich dachte die Tilde bezieht sich auf den Home-Ordner, wie er auch genutzt wird..

ne Private Dateiendung ist mir so noch nciht untergekommen, soll aber alles geben..
Tilde am Anfang ist Home, nicht am Ende. Und dann muss es auch ein Verzeichnis sein. Also z.B. ~files macht keinen Sinn, ~/files dagegen wäre das Unterverzeichnis vom Home.
 
Du könntest dein Backup testweise direkt mit rsync anschmeißen, gern mit --dry-run , bzw. -n
 
Das Problem ist wohl der dass ich versuche zwei user Ordner in /home zeitgleich zu sichern (permissions sind aber korrekt gesetzt!). Obwohl ich in Back-in-Time die zu sichernden Ordner per Drag and Drop einfach auswählen kann, überspringt rsync den zweiten Ordner einfach ohne mir dabei eine Fehlermeldung anzuzeigen. Hinterher heisst es dann: "Dieser Ordner ist im aktuell ausgewählten Schnappschuss nicht vorhanden!"

Ich weiss dass das in der Syntax von rsync eigentlich nicht vorgesehen ist, dass zwei sources (source|destination) angegeben werden können aber ich dachte dass es aber irgendwie trotzdem mit BiT gehen könnte. Leider kann ich das Programm nicht aus der Konsole starten um zu sehen welcher Befehl für das entsprechende Profil verwendet wird. Ich glaub im schlimmsten Fall lagere ich den anderen Ordner in ein zweites Backupprofil aus.

Du könntest dein Backup testweise direkt mit rsync anschmeißen, gern mit --dry-run , bzw. -n
Das in Kombination mit --stats ist sowieso Gold wert..
 
Mehrere Quellverzeichnisse könntest du in rsync erfassen, indem du das gemeinsame Elternverzeichnis syncst, und dann ggf. mit includes und excludes arbeitest.

Wenn backintime im UI den Anschein erweckt, als könne es mehrere Quellverzeichnisse syncen, das dann aber tatsächlich nicht tut, dann würde ich das als Bug betrachten und entsprehend melden.
 
Ich hab mal gerade schnell ein Testprofil erstellt und es liegt entgegen meiner Annahme nicht daran dass ich mehrere sources nutze. Ich hab auch mal beim Protokoll auf alles eingestellt und siehe da, er spuckt mir folgenden Befehl dann aus:

Code:
rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/destination/.backup --exclude=/home/user123/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/home/user123/test12/-[legacyfolder]-/ --include=/home/user123/test12/ --include=/home/user123/ --include=/home/ --include=/home/user123/test12/user123/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --include=/home/user123/test12/-[legacyfolder]-/** --include=/home/user123/test12/user123/** --exclude=* / /destination/.backup/backintime/localmachine/user123/3/new_snapshot/backup


Es liegt demnach am verwendeten Zeichensatz. Viele der Ordnernamen stammen noch aus Windowszeiten wo Namenskonventionen keine Rolle für mich gespielt haben, weswegen ich viele Sonderzeichen genutz habe. Der Knochen liegt also hier begraben: --include=/home/user123/test12/-[legacyfolder]-/

Die Kombination von -[xyc]- nimmt er einfach nicht an und ignoriert sie. Richtig müsste es wohl heissen --include=/'home/user123/test12/-[legacyfolder]-/' -> es müsste zwischen Anführungszeichen stehen.
Beitrag automatisch zusammengeführt:

Mehrere Quellverzeichnisse könntest du in rsync erfassen, indem du das gemeinsame Elternverzeichnis syncst, und dann ggf. mit includes und excludes arbeitest.
so werde ich das wohl machen, ein kurzer Testlauf hat gezeigt, dass das so eher klappt und die nicht unixoiden Datei und Ordnerbezeichnungen so auch angenommen werden.
 
Zuletzt bearbeitet:
Die Argumente für --include und --exclude sind Regex-Pattern. Die Inhalte von eckigen Klammern werden daher als Character-Klassen interpretiert.
Möchtest du diese Klammern als Literale verarbeiten, dann musst du sie escapen.
 
Die Argumente für --include und --exclude sind Regex-Pattern. Die Inhalte von eckigen Klammern werden daher als Character-Klassen interpretiert.
Möchtest du diese Klammern als Literale verarbeiten, dann musst du sie escapen.
Genau, so handhabe ich das für gewöhnlich auch wenn ich cp nutze und schnell mal was auf den USB Stick kopieren oder so. Aber da Back in Time ja für die Convenience gedacht ist und die Fehlerquelle vor dem Bildschirm aus der Gleichung rausnehmen soll, hatte ich mich ja für die GUI Variante entschlossen, und da kann ich den rsync Befehl nicht händisch anpassen. Ist auch nicht weiter schlimm es tut ja seinen Job recht zuverlässig und bietet wesentlich mehr Einstellungsmöglichkeiten als Deja Dup und Kollegen.
 
Ich kenne mich mit backintime nicht aus, aber wie gibt man denn dort include- und exclude-Pattern an? Die schreibt man doch bestimmt in irgendein Eingabefeld. Dort könnte man dann vermutlich auch Escape-Sequenzen nutzen.
 
Durch die GUI. Wenn man das Profil erstellt gibt es dann die entsprechenden Reiter:
 

Anhänge

  • Screenshot_20240815_123735.png
    Screenshot_20240815_123735.png
    36,8 KB · Aufrufe: 6
Du solltest Dein Problem unter Angabe der genauen Ordnerpfade (damit man das Problem auf anderen Rechnern reproduzieren kann) als Bug melden unter: https://github.com/bit-team/backintime/issues

Es kann gut sein, dass hier ein Sonderfall vorliegt, der noch nie funktioniert hat, deshalb würde es anderen Usern auch helfen, der Sache auf den Grund zu kommen.
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben