Zum Inhalt springen

Rsync/Anwendung: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „<div style="column-count:3">“ durch „<div style="column-count:2">“
 
(26 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''rsync/Anwendung''' - Verzeichnisse synchronisieren
'''{{BASEPAGENAME}}''' - Verzeichnisse synchronisieren


=== Beschreibung ===
=== Beschreibung ===
<syntaxhighlight lang="bash" highlight="1" line copy>
rsync [OPTIONEN] QUELLE ZIEL
</syntaxhighlight>
; Beispiel
<syntaxhighlight lang="bash" highlight="1" line copy>
rsync -a /home/user /data/backup
</syntaxhighlight>
; Hinweis
: Wird QUELLE nicht angegeben, ist das aktuelle Verzeichnis die QUELLE
; Home-Verzeichnisse sichern
Kopiert man das gesamte [[/home|Home-Verzeichnis]], so werden auch private Daten, wie private Schlüssel (SSH/GnuPG) kopiert
; Zugriffsrechte
rsync kann nur kopieren, worauf der Nutzer [[Zugriffsrechte]] hat
; --delete
Nicht zuletzt bedeutet die Option --delete wirklich delete!
* Sind in dem Zielverzeichnis andere Daten, werden sie ins Backup-Verzeichnis geschoben oder auch gelöscht!
Bei allen Angaben zur Quelle und/oder des Ziels ist zu beachten, die slashes richtig zu setzen
Bei allen Angaben zur Quelle und/oder des Ziels ist zu beachten, die slashes richtig zu setzen
* Folgendes Beispiel soll dies verdeutlichen
* Folgendes Beispiel soll dies verdeutlichen
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line copy>
rsync -a /boot/grub /data/backup
rsync -a /boot/grub /data/backup
</syntaxhighlight>
</syntaxhighlight>
Zeile 12: Zeile 34:


Wird der Befehl so
Wird der Befehl so
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line copy>
rsync -a /boot/grub/ /data/backup
rsync -a /boot/grub/ /data/backup
</syntaxhighlight>
</syntaxhighlight>
Zeile 20: Zeile 42:
* Folgende zwei Befehle sollen dies nochmals unterstreichen, da beide exakt das gleiche abgleichen und kopieren
* Folgende zwei Befehle sollen dies nochmals unterstreichen, da beide exakt das gleiche abgleichen und kopieren


<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1-2" line copy>
rsync -a /boot/grub /data/backup
rsync -a /boot/grub /data/backup
rsync -a /boot/grub/ /data/backup/grub
rsync -a /boot/grub/ /data/backup/grub
</syntaxhighlight>
</syntaxhighlight>


=== Sicherung innerhalb des Systems ===
=== Systemintern ===
Man kann neben dem Transfer über das Netzwerk rsync natürlich auch nutzen, um ein Backup auf eine andere interne oder externe (dies ist zu bevorzugen) Festplatte zu tätigen
Man kann neben dem Transfer über das Netzwerk rsync natürlich auch nutzen, um ein Backup auf eine andere interne oder externe (dies ist zu bevorzugen) Festplatte zu tätigen
* Möchte man zum Beispiel alle Benutzerverzeichnisse sichern, so kann man dies bewerkstelligen mit
* Möchte man zum Beispiel alle Benutzerverzeichnisse sichern, so kann man dies bewerkstelligen mit


<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line copy>
rsync -av --progress --delete /home /media/Backup/
rsync -av --progress --delete /home /media/Backup/
</syntaxhighlight>
</syntaxhighlight>


=== Sicherung von lokalem Rechner auf entfernten Rechner ===
=== Auf entfernten Rechner ===
In diesem Beispiel soll ein lokales Homeverzeichnis ('''/home/benutzer''') auf einen zweiten Rechner mit dem Namen <tt>example.com</tt> gesichert werden, zu dem man per SSH Zugang hat
In diesem Beispiel soll ein lokales Homeverzeichnis ('''/home/benutzer''') auf einen zweiten Rechner mit dem Namen <tt>example.com</tt> gesichert werden, zu dem man per SSH Zugang hat


Dazu benötigt man die Option <tt>-a</tt>, damit alle Rechte erhalten bleiben. <tt>-v</tt> ist immer gut, damit man sieht, was passiert
Dazu benötigt man die Option <tt>-a</tt>, damit alle Rechte erhalten bleiben. <tt>-v</tt> ist immer gut, damit man sieht, was passiert
* Der Parameter <tt>-z</tt> verringert die Datenmenge, die übertragen werden muss, und <tt>-e</tt> wird benötigt, um ssh anzugeben
* Der Parameter <tt>-z</tt> verringert die Datenmenge, die übertragen werden muss, und <tt>-e</tt> wird benötigt, um ssh anzugeben
* Also sieht der Befehl so aus
 
<syntaxhighlight lang="bash" highlight="1" line>
; Beispiel
<syntaxhighlight lang="bash" highlight="1" line copy>
rsync -avze ssh /home/benutzer benutzer@example.com:/backups
rsync -avze ssh /home/benutzer benutzer@example.com:/backups
</syntaxhighlight>
</syntaxhighlight>
Zeile 45: Zeile 68:
Dies würde eine Kopie von '''/home/benutzer''' vom lokalen Rechner zum entfernten Rechner ins Verzeichnis '''/backups''' kopieren
Dies würde eine Kopie von '''/home/benutzer''' vom lokalen Rechner zum entfernten Rechner ins Verzeichnis '''/backups''' kopieren


===== SSH-Port angeben =====
; Port angeben
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line copy>
rsync -avz -e "ssh -p PORTNUMMER" user@remoteip:/path/to/files/ /local/path/
rsync -avz -e "ssh -p PORTNUMMER" user@remoteip:/path/to/files/ /local/path/
</syntaxhighlight>
</syntaxhighlight>


=== Sicherung von entferntem Rechner auf lokalen Rechner ===
=== Von entferntem Rechner ===
In diesem Beispiel soll das Verzeichnis '''/var/www''' vom Rechner <tt>example.com</tt> auf den lokalen Rechner gesichert werden
In diesem Beispiel soll das Verzeichnis '''/var/www''' vom Rechner <tt>example.com</tt> auf den lokalen Rechner gesichert werden
* Außerdem sollen alle Dateien, die in '''/var/www''' gelöscht wurden, nachdem die letzte Sicherung erstellt wurde, lokal ebenfalls gelöscht werden, nachdem man sie noch ein letztes Mal sichert
* Außerdem sollen alle Dateien, die in '''/var/www''' gelöscht wurden, nachdem die letzte Sicherung erstellt wurde, lokal ebenfalls gelöscht werden, nachdem man sie noch ein letztes Mal sichert
Zeile 57: Zeile 80:
* Diese Backups befinden sich in dem mit <tt>--backup-dir</tt> angegebenen Verzeichnis
* Diese Backups befinden sich in dem mit <tt>--backup-dir</tt> angegebenen Verzeichnis


Der Befehl sieht dann so aus
; Beispiel
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line copy>
rsync --delete -avzbe ssh benutzer@example.com:/var/www /home/benutzer/webserver --backup-dir=~/old
rsync --delete -avzbe ssh benutzer@example.com:/var/www /home/benutzer/webserver --backup-dir=~/old
</syntaxhighlight>
</syntaxhighlight>


Sollen dem SSH-Befehl weitere Optionen angehängt werden, z.&nbsp;B.&nbsp; -i um einen abweichenden Private-Key bei der Anmeldung zu übergeben, muss der SSH-Befehl in einfache Anführungszeichen gesetzt werden, etwa so
; SSH-Optionen
<syntaxhighlight lang="bash" highlight="1" line>
Sollen dem SSH-Befehl weitere Optionen angehängt werden, beispielsweise  -i um einen abweichenden Private-Key bei der Anmeldung zu übergeben, muss der SSH-Befehl in einfache Anführungszeichen gesetzt werden, etwa so
<syntaxhighlight lang="bash" highlight="1" line copy>
rsync --delete -avzbe 'ssh -i /pfad/zur/id_rsa' benutzer@example.com:/var/www /home/benutzer/webserver --backup-dir=~/old
rsync --delete -avzbe 'ssh -i /pfad/zur/id_rsa' benutzer@example.com:/var/www /home/benutzer/webserver --backup-dir=~/old
</syntaxhighlight>
</syntaxhighlight>


; Key File
Der Pfad zu dem Private-Key File muss dabei absolut sein
Der Pfad zu dem Private-Key File muss dabei absolut sein
* Dann den ganzen Befehl mit Cron zeitgesteuert automatisieren und die Angst vor einer defekten Festplatte oder versehentlich gelöschten Daten ist vorbei
* Dann den ganzen Befehl mit Cron zeitgesteuert automatisieren und die Angst vor einer defekten Festplatte oder versehentlich gelöschten Daten ist vorbei


=== Abgleich von Dateien zwischen Rechnern mit unterschiedlichen Zeichensätzen ===
=== Zeichensätze ===
; Abgleich von Dateien zwischen Rechnern mit unterschiedlichen Zeichensätzen
Werden Daten zwischen Systemen mit verschiedenen Zeichensätzen übertragen, werden Dateien mit Sonderzeichen im Dateinamen im Zielverzeichnis möglicherweise falsch benannt
Werden Daten zwischen Systemen mit verschiedenen Zeichensätzen übertragen, werden Dateien mit Sonderzeichen im Dateinamen im Zielverzeichnis möglicherweise falsch benannt
* Abhilfe schafft hier der Parameter <tt>--iconv</tt> (seit rsync 3.0.0), mit dem die Sonderzeichen zwischen den unterschiedlichen Zeichensätzen konvertiert werden können
* Abhilfe schafft hier der Parameter <tt>--iconv</tt> (seit rsync 3.0.0), mit dem die Sonderzeichen zwischen den unterschiedlichen Zeichensätzen konvertiert werden können
* Der Parameter erwartet als Werte die Codepages des lokalen und des Remote-Systems
* Der Parameter erwartet als Werte die Codepages des lokalen und des Remote-Systems
* Sollen beispielsweise Dateien mit Sonderzeichen im Dateinamen von einem System mit Codepage 1252 auf den lokalen Rechner (UTF-8) übertragen werden, lautet der Befehl
* Sollen beispielsweise Dateien mit Sonderzeichen im Dateinamen von einem System mit Codepage 1252 auf den lokalen Rechner (UTF-8) übertragen werden, lautet der Befehl
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line copy>
rsync --iconv=UTF-8,CP1252 -avze ssh benutzer@example.com:/var/www /home/benutzer/webserver
rsync --iconv=UTF-8,CP1252 -avze ssh benutzer@example.com:/var/www /home/benutzer/webserver
</syntaxhighlight>
</syntaxhighlight>
Zeile 81: Zeile 107:
Hierbei werden die Dateinamen aus '''/var/www''' vom Rechner rechner.de beim Übertragen auf den lokalen Rechner in das Verzeichnis '''/home/benutzer/webserver''' von Codepage 1252 nach UTF-8 umgewandelt
Hierbei werden die Dateinamen aus '''/var/www''' vom Rechner rechner.de beim Übertragen auf den lokalen Rechner in das Verzeichnis '''/home/benutzer/webserver''' von Codepage 1252 nach UTF-8 umgewandelt


=== Verzeichnisse von der Sicherung ausschließen ===
=== Verzeichnisse ausschließen ===
Mit dem Parameter <tt>--exclude</tt> können Verzeichnisse von der Bearbeitung ausgeschlossen werden
Mit dem Parameter <tt>--exclude</tt> können Verzeichnisse von der Bearbeitung ausgeschlossen werden
* Dabei ist zu beachten, dass die Quelle immer als Bezugspunkt interpretiert wird
* Dabei ist zu beachten, dass die Quelle immer als Bezugspunkt interpretiert wird


Wenn also Daten vom Verzeichnis '''/home/user/daten/''' nach '''/home/user/backup/''' gesichert werden sollen und dabei das Verzeichnis '''/home/user/daten/temp/''' nicht berücksichtigt werden soll, muss der Befehl so
Wenn also Daten vom Verzeichnis '''/home/user/daten/''' nach '''/home/user/backup/''' gesichert werden sollen und dabei das Verzeichnis '''/home/user/daten/temp/''' nicht berücksichtigt werden soll, muss der Befehl so
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line copy>
rsync [OPTIONEN] --exclude=temp/ /home/user/daten/ /home/user/backup/
rsync [OPTIONEN] --exclude=temp/ /home/user/daten/ /home/user/backup/
</syntaxhighlight>
</syntaxhighlight>
Zeile 97: Zeile 123:


Möchte man außerdem "incremental backups" von sbackup von der Sicherung ausnehmen, so müsste der Befehl so
Möchte man außerdem "incremental backups" von sbackup von der Sicherung ausnehmen, so müsste der Befehl so
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line copy>
rsync [OPTIONEN] --exclude=temp/ --exclude=*.inc /home/user/daten/ /home/user/backup/
rsync [OPTIONEN] --exclude=temp/ --exclude=*.inc /home/user/daten/ /home/user/backup/
</syntaxhighlight>
</syntaxhighlight>


Mehrere auszuschließende Ordner kann man auch in eine Datei speichern und dann im rsync Aufruf per <tt>--exclude-from=FILE</tt> übergeben
Mehrere auszuschließende Ordner kann man auch in eine Datei speichern und dann im rsync Aufruf per <tt>--exclude-from=FILE</tt> übergeben
* Dazu ein praktisches Beispiel wie ein exclude FILE aussehen kann
 
; Beispiel exclude FILE
<syntaxhighlight lang="bash" highlight="1" line copy>
  - Downloads
  - Downloads
  - Ubuntu One
  - Ubuntu One
Zeile 110: Zeile 138:
  + .local
  + .local
  - .*
  - .*
</syntaxhighlight>


Angenommen, man möchte das ganze Home Verzeichnis sichern, jedoch einige Verzeichnisse ausschliessen und andere einschliessen, dann führt die o.a
Angenommen, man möchte das ganze Home Verzeichnis sichern, jedoch einige Verzeichnisse ausschliessen und andere einschliessen, dann führt die o.a
* Datei zu folgendem Ergebnis: * die Verzeichnisse 'Downloads', 'Ubuntu One' und alle versteckten Verzeichnisse '.*' werden nicht gesichert
* Datei zu folgendem Ergebnis:  
* die Verzeichnisse 'Downloads', 'Ubuntu One' und alle versteckten Verzeichnisse '.*' werden nicht gesichert
* von den versteckten Verzeichnissen sollen aber dennoch '.config', '.gconf', '.gnome2' und '.local' gesichert werden
* von den versteckten Verzeichnissen sollen aber dennoch '.config', '.gconf', '.gnome2' und '.local' gesichert werden


Zeile 118: Zeile 148:
: die Reihenfolge der Einträge in der Datei ist wichtig
: die Reihenfolge der Einträge in der Datei ist wichtig


== Benutzeroberflächen ==
; Grafische Benutzeroberflächen
[[Image:Grafik2.png|top|alt="./grsync1.png"]]
=== Grsync ===
Zum bequemeren Sichern kann man unter GNOME, Xfce und LXDE eine grafische Benutzeroberfläche installieren
<syntaxhighlight lang="bash" highlight="1" line>
</syntaxhighlight>
# apt-get install grsync
Anschließend findet man bei Ubuntu-Varianten mit einem Anwendungsmenü einen Programmstarter unter ''"Systemwerkzeuge -> Grsync"''
[[Image:Grafik4.png|top|alt="./grsync2.png"]]
Unter ''"Advanced options"'' finden sich weitere Einstellungen
* Teilweise erscheinen Erläuterungen (Tooltips) zu den Optionen, wenn man den Mauszeiger darüber hält
* Außerdem lassen sich individuelle Optionen eingeben, die rsync unterstützt
* Im Bild zu sehen ist die Eingabe <tt>--exclude=.*</tt>, die den Effekt hat, dass alle Konfigurationsdateien ausgeschlossen werden
* Das mag beispielsweise bei einer Neuinstallation sinnvoll sein


=== Unison ===
Unison ist ein komfortables Programm, welches das Protokoll von '''rsync''' nutzt
* Es bietet eine grafische Oberfläche und erlaubt den Abgleich von Verzeichnissen in beide Richtungen, siehe Unison


<noinclude>
== Anhang ==
=== Siehe auch ===
<div style="column-count:2">
<categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree>
</div>
----
{{Special:PrefixIndex/Rsync/}}


== Links ==
=== Links ===
* [https://rsync.samba.org/ Projektseite] [[Image:Grafik5.png|top|alt="{en}"]]
==== Weblinks ====
* [https://de.wikipedia.org/wiki/Rsync Rsync]
* [https://www.opbyte.it/grsync/ Grsync] [[Image:Grafik6.png|top|alt="{en}"]]- grafische Oberfläche
* [https://www.linux-user.de/ausgabe/2006/04/090-rsync/ Dateien abgleichen mit rsync] [[Image:Grafik7.png|top|alt="{de}"]]- Artikel aus LinuxUser 04/2006
* [https://wiki.ubuntuusers.de/Skripte/Backup_mit_RSYNC Skripte/Backup mit rsync] - fertiges Skript für die Datensicherung


{{SORTIERUNG:rsync/Anwendung}}
{{SORTIERUNG:rsync/Anwendung}}
{{DISPLAYTITLE:rsync/Anwendung}}
{{DISPLAYTITLE:rsync/Anwendung}}


[[Kategorie:Linux/Datei/Verwaltung]]
[[Kategorie:Rsync]]
 
</noinclude>

Aktuelle Version vom 28. Juni 2025, 11:12 Uhr

Rsync/Anwendung - Verzeichnisse synchronisieren

Beschreibung

rsync [OPTIONEN] QUELLE ZIEL
Beispiel
rsync -a /home/user /data/backup
Hinweis
Wird QUELLE nicht angegeben, ist das aktuelle Verzeichnis die QUELLE
Home-Verzeichnisse sichern

Kopiert man das gesamte Home-Verzeichnis, so werden auch private Daten, wie private Schlüssel (SSH/GnuPG) kopiert

Zugriffsrechte

rsync kann nur kopieren, worauf der Nutzer Zugriffsrechte hat

--delete

Nicht zuletzt bedeutet die Option --delete wirklich delete!

  • Sind in dem Zielverzeichnis andere Daten, werden sie ins Backup-Verzeichnis geschoben oder auch gelöscht!

Bei allen Angaben zur Quelle und/oder des Ziels ist zu beachten, die slashes richtig zu setzen

  • Folgendes Beispiel soll dies verdeutlichen
rsync -a /boot/grub /data/backup

erzeugt einen Unterordner /grub in /data/backup, weil kein slash hinter /boot/grub steht

  • Das heißt, dass die Daten nicht in /data/backup gespeichert werden sondern in /data/backup/grub

Wird der Befehl so

rsync -a /boot/grub/ /data/backup

angewandt wird kein Unterordner beim Ziel erzeugt, da nun ein slash hinter /boot/grub/ steht

  • Das heißt, dass alle Daten von /boot/grub/ tatsächlich in das Verzeichnis /data/backup geschrieben werden
  • Folgende zwei Befehle sollen dies nochmals unterstreichen, da beide exakt das gleiche abgleichen und kopieren
rsync -a /boot/grub /data/backup
rsync -a /boot/grub/ /data/backup/grub

Systemintern

Man kann neben dem Transfer über das Netzwerk rsync natürlich auch nutzen, um ein Backup auf eine andere interne oder externe (dies ist zu bevorzugen) Festplatte zu tätigen

  • Möchte man zum Beispiel alle Benutzerverzeichnisse sichern, so kann man dies bewerkstelligen mit
rsync -av --progress --delete /home /media/Backup/

Auf entfernten Rechner

In diesem Beispiel soll ein lokales Homeverzeichnis (/home/benutzer) auf einen zweiten Rechner mit dem Namen example.com gesichert werden, zu dem man per SSH Zugang hat

Dazu benötigt man die Option -a, damit alle Rechte erhalten bleiben. -v ist immer gut, damit man sieht, was passiert

  • Der Parameter -z verringert die Datenmenge, die übertragen werden muss, und -e wird benötigt, um ssh anzugeben
Beispiel
rsync -avze ssh /home/benutzer benutzer@example.com:/backups

Dies würde eine Kopie von /home/benutzer vom lokalen Rechner zum entfernten Rechner ins Verzeichnis /backups kopieren

Port angeben
rsync -avz -e "ssh -p PORTNUMMER" user@remoteip:/path/to/files/ /local/path/

Von entferntem Rechner

In diesem Beispiel soll das Verzeichnis /var/www vom Rechner example.com auf den lokalen Rechner gesichert werden

  • Außerdem sollen alle Dateien, die in /var/www gelöscht wurden, nachdem die letzte Sicherung erstellt wurde, lokal ebenfalls gelöscht werden, nachdem man sie noch ein letztes Mal sichert

Es werden wieder die selben Optionen wie vorher genommen, sowie --delete für das Löschen und -b für Backups gelöschter und veränderter Dateien

  • Diese Backups befinden sich in dem mit --backup-dir angegebenen Verzeichnis
Beispiel
rsync --delete -avzbe ssh benutzer@example.com:/var/www /home/benutzer/webserver --backup-dir=~/old
SSH-Optionen

Sollen dem SSH-Befehl weitere Optionen angehängt werden, beispielsweise -i um einen abweichenden Private-Key bei der Anmeldung zu übergeben, muss der SSH-Befehl in einfache Anführungszeichen gesetzt werden, etwa so

rsync --delete -avzbe 'ssh -i /pfad/zur/id_rsa' benutzer@example.com:/var/www /home/benutzer/webserver --backup-dir=~/old
Key File

Der Pfad zu dem Private-Key File muss dabei absolut sein

  • Dann den ganzen Befehl mit Cron zeitgesteuert automatisieren und die Angst vor einer defekten Festplatte oder versehentlich gelöschten Daten ist vorbei

Zeichensätze

Abgleich von Dateien zwischen Rechnern mit unterschiedlichen Zeichensätzen

Werden Daten zwischen Systemen mit verschiedenen Zeichensätzen übertragen, werden Dateien mit Sonderzeichen im Dateinamen im Zielverzeichnis möglicherweise falsch benannt

  • Abhilfe schafft hier der Parameter --iconv (seit rsync 3.0.0), mit dem die Sonderzeichen zwischen den unterschiedlichen Zeichensätzen konvertiert werden können
  • Der Parameter erwartet als Werte die Codepages des lokalen und des Remote-Systems
  • Sollen beispielsweise Dateien mit Sonderzeichen im Dateinamen von einem System mit Codepage 1252 auf den lokalen Rechner (UTF-8) übertragen werden, lautet der Befehl
rsync --iconv=UTF-8,CP1252 -avze ssh benutzer@example.com:/var/www /home/benutzer/webserver

Hierbei werden die Dateinamen aus /var/www vom Rechner rechner.de beim Übertragen auf den lokalen Rechner in das Verzeichnis /home/benutzer/webserver von Codepage 1252 nach UTF-8 umgewandelt

Verzeichnisse ausschließen

Mit dem Parameter --exclude können Verzeichnisse von der Bearbeitung ausgeschlossen werden

  • Dabei ist zu beachten, dass die Quelle immer als Bezugspunkt interpretiert wird

Wenn also Daten vom Verzeichnis /home/user/daten/ nach /home/user/backup/ gesichert werden sollen und dabei das Verzeichnis /home/user/daten/temp/ nicht berücksichtigt werden soll, muss der Befehl so

rsync [OPTIONEN] --exclude=temp/ /home/user/daten/ /home/user/backup/

aussehen

Das per exclude bezeichnete Verzeichniss ist also kein absoluter Pfad, sonder relativ zum rsync Verzeichniss <Quelle> zu sehen - hier in diesem Beispiel also /home/user/daten/

Taucht der auszuschließende Ordner temp noch an weiteren Punkten der Quellhierarchie auf, so werden diese ebenfalls von der Sicherung ausgeschlossen

Möchte man außerdem "incremental backups" von sbackup von der Sicherung ausnehmen, so müsste der Befehl so

rsync [OPTIONEN] --exclude=temp/ --exclude=*.inc /home/user/daten/ /home/user/backup/

Mehrere auszuschließende Ordner kann man auch in eine Datei speichern und dann im rsync Aufruf per --exclude-from=FILE übergeben

Beispiel exclude FILE
 - Downloads
 - Ubuntu One
 + .config
 + .gconf
 + .gnome2
 + .local
 - .*

Angenommen, man möchte das ganze Home Verzeichnis sichern, jedoch einige Verzeichnisse ausschliessen und andere einschliessen, dann führt die o.a

  • Datei zu folgendem Ergebnis:
  • die Verzeichnisse 'Downloads', 'Ubuntu One' und alle versteckten Verzeichnisse '.*' werden nicht gesichert
  • von den versteckten Verzeichnissen sollen aber dennoch '.config', '.gconf', '.gnome2' und '.local' gesichert werden
Achtung
die Reihenfolge der Einträge in der Datei ist wichtig



Anhang

Siehe auch


Links

Weblinks