Jan Ritzerfeld wrote:
Am Sonntag, 16. Juni 2013, 15:38:57 schrieb Malte Gell:
(...). Was mich nur wundert, dass es sich von der Zeit her lohnt für rsync Deltas zu errechnen und zu kopieren, statt einfach das komplette File. Ich könnte mir vorstellen, dass es bei kleinen und mittleren Files (bis wenige MB) schneller ist, das geänderte File einfach komplett zu kopieren, als ein Delta zu erstellen...?
Also: AFAIK kopiert rsync nie Teile von Dateien; das dachte ich früher auch mal. Rsync erstellt eine Liste der zu kopierenden Files und kopiert diese komplett. Er kopiert ein "Delta" der kompletten Fileliste (eben nur die geänderten) nicht aber nur Teile einer Datei. Und grossartig "berechnen" macht rsync doch auch nur, wenn du die Option "-c" (checksum) angibst. Nach meiner Erfahrung geht von einem Linux-FS auf ein Linux-FS am besten etwas wie "rsync -avx...."; bei einer Kopieraktion von einem NTFS o.ä. kopiert das aber IMMER alles; hier mache ich oft gezwungenermassen ein "rsync -c..." damit auch nur die geänderten Files kopiert werden.
Vor allem: Wie stellt rsync bei einer lokalen USB-Platte fest, wo die Unterschiede sind wenn Zeitstempel oder Größe unterschiedlich sind? Es muss doch die originale Datei und die auf der USB-Platte lesen und vergleichen. Je nach USB-Platte ist das langsam.
Ja, aber ausser bei "-c" muss er ja nicht das ganze File lesen sondern "nur" die Metadaten der Datei. Das geht schon.
Andreas
PS: Falls mir irgendjemand hier nachweisen kann, das rsync tatsächlich auch "deltas" eines einzigen Files kopieren kann - her damit. Meine VMs liegen in _sehr_ grossen Files und hier wäre so etwas wie eine delta Kopie _innerhalb_ des Files nicht schlecht (auch wenn ich nicht daran glauben kann)
Hallo,
On 17.06.13 06:51, Kyek, Andreas, Vodafone DE wrote:
Jan Ritzerfeld wrote:
Am Sonntag, 16. Juni 2013, 15:38:57 schrieb Malte Gell:
(...). Was mich nur wundert, dass es sich von der Zeit her lohnt für rsync Deltas zu errechnen und zu kopieren, statt einfach das komplette File. Ich könnte mir vorstellen, dass es bei kleinen und mittleren Files (bis wenige MB) schneller ist, das geänderte File einfach komplett zu kopieren, als ein Delta zu erstellen...?
Also: AFAIK kopiert rsync nie Teile von Dateien; das dachte ich früher auch mal. Rsync erstellt eine Liste der zu kopierenden Files und kopiert diese komplett. Er kopiert ein "Delta" der kompletten Fileliste (eben nur die geänderten) nicht aber nur Teile einer Datei.
Ein reines rsync kopiert komplette Dateien und löscht nicht mehr vorhandene Dateien/Verzeichnisse. Wenn Du also ein Versions-Management brauchts, solltest Du rsnapshot nutzen <- wurde ja hier schon erwähnt.
Und grossartig "berechnen" macht rsync doch auch nur, wenn du die Option "-c" (checksum) angibst.
Das mag bei einem reinen rsync so sein. Wenn ich das hier [1] richtig verstehe, dann ist das erstellen einer Checksum bei rsnapshot standardmäßig aktiviert ("-c, --checksum skip based on checksum, not mod-time & size")
Nach meiner Erfahrung geht von einem Linux-FS auf ein Linux-FS am besten etwas wie "rsync -avx...."; bei einer Kopieraktion von einem NTFS o.ä. kopiert das aber IMMER alles; hier mache ich oft gezwungenermassen ein "rsync -c..." damit auch nur die geänderten Files kopiert werden.
Vor allem: Wie stellt rsync bei einer lokalen USB-Platte fest, wo die Unterschiede sind wenn Zeitstempel oder Größe unterschiedlich sind? Es muss doch die originale Datei und die auf der USB-Platte lesen und vergleichen. Je nach USB-Platte ist das langsam.
Ich habe eine USB2-HDD. Meine wöchentliches Backup dauert ca. 1h. Es werden ca. 450.000 Dateien gesichert/verglichen. Und teilweise werden so 20.000 geändert und deren Volumen beträgt teilweise mehrere GB.
Ja, aber ausser bei "-c" muss er ja nicht das ganze File lesen sondern "nur" die Metadaten der Datei. Das geht schon.
Da stellt sich mir die Frage, wie sicher ist rsync/rsnapshot, sollten doch keine checksums erstellt oder ausgewertet werden (siehe oben).
PS: Falls mir irgendjemand hier nachweisen kann, das rsync tatsächlich auch "deltas" eines einzigen Files kopieren kann - her damit. Meine VMs liegen in _sehr_ grossen Files und hier wäre so etwas wie eine delta Kopie _innerhalb_ des Files nicht schlecht (auch wenn ich nicht daran glauben kann)
Ich auch! Bei meinen 2 virtuellen Maschinen belegen die vdi-Dateien ca. 7 GB. Ich habe 10 Versionen, so dass ich allein dafür immer 70 GB bewahren muss, um das sichern zu können...
Gruß, Alex
[1] http://www.synology-wiki.de/index.php/Rsnapshot#Beschreibung_der_Rsync_Param...
Hallo, ich klinke mich mal kurz ein zum Thema:
PS: Falls mir irgendjemand hier nachweisen kann, das rsync tatsächlich auch "deltas" eines einzigen Files kopieren kann - her damit. Meine VMs liegen in _sehr_ grossen Files und hier wäre so etwas wie eine delta Kopie _innerhalb_ des Files nicht schlecht (auch wenn ich nicht daran glauben kann)
Ich lasse jede Nacht Backups mit rsync über's Internet an einen entfernten Backup Server laufen. Die Summe der zu sichernden Daten liegt bei über 50 GB, enthalten sind u.a. kleine SQL Datenbanken. Das Backup ist bei einer Verbindung DSL 6000 ( upload ca. 500 kbit ) regelmässig in ca. 1 Stunde erledigt. Wenn man nun rechnet, kommen in einer Stunde brutto (ohne Steuerdaten etc.) 225 MByte über die Strippe. Also muss rsync mit deltas arbeiten. Die Komprimierung bringt dabei übrigens ca. 10 %, ich hatte sie probehalber mal abgeschalten. Grüße, Sylvio
Gesendet: Montag, 17. Juni 2013 um 07:41 Uhr Von: "Alex Winzer" alex.e-mail@gmx.de An: opensuse-de@opensuse.org Betreff: Re: Backup mit rsync Hallo,
On 17.06.13 06:51, Kyek, Andreas, Vodafone DE wrote:
Jan Ritzerfeld wrote:
Am Sonntag, 16. Juni 2013, 15:38:57 schrieb Malte Gell:
(...). Was mich nur wundert, dass es sich von der Zeit her lohnt für rsync Deltas zu errechnen und zu kopieren, statt einfach das komplette File. Ich könnte mir vorstellen, dass es bei kleinen und mittleren Files (bis wenige MB) schneller ist, das geänderte File einfach komplett zu kopieren, als ein Delta zu erstellen...?
Also: AFAIK kopiert rsync nie Teile von Dateien; das dachte ich früher auch mal. Rsync erstellt eine Liste der zu kopierenden Files und kopiert diese komplett. Er kopiert ein "Delta" der kompletten Fileliste (eben nur die geänderten) nicht aber nur Teile einer Datei.
Ein reines rsync kopiert komplette Dateien und löscht nicht mehr vorhandene Dateien/Verzeichnisse. Wenn Du also ein Versions-Management brauchts, solltest Du rsnapshot nutzen <- wurde ja hier schon erwähnt.
Und grossartig "berechnen" macht rsync doch auch nur, wenn du die Option "-c" (checksum) angibst.
Das mag bei einem reinen rsync so sein. Wenn ich das hier [1] richtig verstehe, dann ist das erstellen einer Checksum bei rsnapshot standardmäßig aktiviert ("-c, --checksum skip based on checksum, not mod-time & size")
Nach meiner Erfahrung geht von einem Linux-FS auf ein Linux-FS am besten etwas wie "rsync -avx...."; bei einer Kopieraktion von einem NTFS o.ä. kopiert das aber IMMER alles; hier mache ich oft gezwungenermassen ein "rsync -c..." damit auch nur die geänderten Files kopiert werden.
Vor allem: Wie stellt rsync bei einer lokalen USB-Platte fest, wo die Unterschiede sind wenn Zeitstempel oder Größe unterschiedlich sind? Es muss doch die originale Datei und die auf der USB-Platte lesen und vergleichen. Je nach USB-Platte ist das langsam.
Ich habe eine USB2-HDD. Meine wöchentliches Backup dauert ca. 1h. Es werden ca. 450.000 Dateien gesichert/verglichen. Und teilweise werden so 20.000 geändert und deren Volumen beträgt teilweise mehrere GB.
Ja, aber ausser bei "-c" muss er ja nicht das ganze File lesen sondern "nur" die Metadaten der Datei. Das geht schon.
Da stellt sich mir die Frage, wie sicher ist rsync/rsnapshot, sollten doch keine checksums erstellt oder ausgewertet werden (siehe oben).
PS: Falls mir irgendjemand hier nachweisen kann, das rsync tatsächlich auch "deltas" eines einzigen Files kopieren kann - her damit. Meine VMs liegen in _sehr_ grossen Files und hier wäre so etwas wie eine delta Kopie _innerhalb_ des Files nicht schlecht (auch wenn ich nicht daran glauben kann)
Ich auch! Bei meinen 2 virtuellen Maschinen belegen die vdi-Dateien ca. 7 GB. Ich habe 10 Versionen, so dass ich allein dafür immer 70 GB bewahren muss, um das sichern zu können...
Gruß, Alex
[1] http://www.synology-wiki.de/index.php/Rsnapshot#Beschreibung_der_Rsync_Param...
-- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
blue.men@gmx.de wrote:
ich klinke mich mal kurz ein zum Thema:
PS: Falls mir irgendjemand hier nachweisen kann, das rsync tatsächlich auch "deltas" eines einzigen Files kopieren kann - her damit. Meine VMs liegen in _sehr_ grossen Files und hier wäre so etwas wie eine delta Kopie _innerhalb_ des Files nicht schlecht (auch wenn ich nicht daran glauben kann)
Ich lasse jede Nacht Backups mit rsync über's Internet an einen entfernten Backup Server laufen. Die Summe der zu sichernden Daten liegt bei über 50 GB, enthalten sind u.a. kleine SQL Datenbanken. Das Backup ist bei einer Verbindung DSL 6000 ( upload ca. 500 kbit ) regelmässig in ca. 1 Stunde erledigt. Wenn man nun rechnet, kommen in einer Stunde brutto (ohne Steuerdaten etc.) 225 MByte über die Strippe. Also muss rsync mit deltas arbeiten.
Woher nimmst Du diese Schlussfolgerung? Gegenbeispiel:
Eine VM hat ein 30GB File. Einmal VM gestartet ändert MIT SICHERHEIT nicht 30 GB an Daten. Rsync erkennt natürlich, das sich das File geändert hat und kopiert IMMER das komplette File. Ich habe noch nie innerhalb eines Files eine "delta" Kopie gesehen. Natürlich kopiert rsync nur die geänderten Files - das kann dein "Phänomen" Ggf. hinreichend erklären.
Fazit: Kann ich als "Beweis" also nicht wirklich gelten lassen.
Andreas
Am 17. Juni 2013 12:33 schrieb Kyek, Andreas, Vodafone DE A.Kyek@vodafone.com:
Woher nimmst Du diese Schlussfolgerung? Gegenbeispiel:
Lese er die manpage.
rsync macht Delta nur über Netzwerk; bei lokalen Kopien wird immer die komplette Datei geschrieben.
Gruß Martin
Am 17.06.2013 um 06:51 schrieb "Kyek, Andreas, Vodafone DE" A.Kyek@vodafone.com:
PS: Falls mir irgendjemand hier nachweisen kann, das rsync tatsächlich auch "deltas" eines einzigen Files kopieren kann - her damit.
https://rsync.samba.org/tech_report/node2.html-- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Rainer Sokoll wrote:
Am 17.06.2013 um 06:51 schrieb "Kyek, Andreas, Vodafone DE" A.Kyek@vodafone.com:
PS: Falls mir irgendjemand hier nachweisen kann, das rsync tatsächlich auch "deltas" eines einzigen Files kopieren kann - her damit.
Danke (auch an Martin für den Hinweis mit dem Netzwerk).
Ich kopiere meine Daten auch übers Netzwerk; allerdings anscheinend nicht so das rsync das als "Netztransfer" erkennt. Meine Ziele sind via NFS gemountete remote FS und das ist für rsync anscheinend "lokal".
Vielleicht probiere ich das mal aus; allerdings meine ich mich zu erinnern, das der NFS Transfer den grössten Durchsatz hatte. Aber evtl. wird das ja durch den "delta" Algorithmus kompensiert?
Andreas
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi,
Am 17.06.2013 14:12, schrieb Kyek, Andreas, Vodafone DE:
Ich kopiere meine Daten auch übers Netzwerk; allerdings anscheinend nicht so das rsync das als "Netztransfer" erkennt. Meine Ziele sind via NFS gemountete remote FS und das ist für rsync anscheinend "lokal".
Jepp. So etwas habe ich früher auch gemacht. Es hebelt die ganze Genialität von rsync aus, denn um Daten lesen zu können, sind sie bereits per nfs durchs Netz gegangen. Es sollte rsync sein, das das Netz "überschreitet".
Rsync benutzt ohne zusätzliche Parameter das Datum einer Datei, um zu prüfen, ob zwei Dateien noch identisch sind. Es gibt aber eine Option, die rsync die Dateien per md5sum (oder so) vergleichen lässt. Wenn dann der Datentransport von nfs erledigt wird, ist rsync eher langsamer als ein vollständiges "cp -R".
In der zweiten Version (also voller Vergleich der Dateien), ist rsync auch in der Lage, Abschnitte aus der Datei zu vergleichen und nur Teile der Datei zu übertragen - wie es im Originalpost gewünscht war. So jedenfalls hab ich die manpage verstanden.
Gruß Jan - -- _________________________________________________________________ Jan Handwerker http://www.imk-tro.kit.edu/1272_jan.handwerker.php Recursion (f) --> Recursion Mit LaTeX wär das nicht passiert.
On Mo, 17 Jun 2013, Kyek, Andreas, Vodafone DE wrote:
Rainer Sokoll wrote:
Am 17.06.2013 um 06:51 schrieb "Kyek, Andreas, Vodafone DE" A.Kyek@vodafone.com:
PS: Falls mir irgendjemand hier nachweisen kann, das rsync tatsächlich auch "deltas" eines einzigen Files kopieren kann - her damit.
Danke (auch an Martin für den Hinweis mit dem Netzwerk).
Ich kopiere meine Daten auch übers Netzwerk; allerdings anscheinend nicht so das rsync das als "Netztransfer" erkennt. Meine Ziele sind via NFS gemountete remote FS und das ist für rsync anscheinend "lokal".
Das sieht man übrigens auch schön per rsync:
#v+ ~$ rsync -vv --dry-run ~/Downloads/git-annex.linux rsync-test |head -2 skipping directory git-annex.linux delta-transmission disabled for local transfer or --whole-file ~$ rsync -avv --dry-run chrisbra@server:~/foobar/ rsync-test 2>/dev/null |head -3 /tmp/rsync-test opening connection using: ssh -l chrisbra server rsync --server --sender -vvlogDtprze.iLsf . "~/foobar" receiving incremental file list delta-transmission enabled ... #v+
Mit freundlichen Grüßen Christian
Hallo,
Am Tue, 18 Jun 2013, Christian Brabandt schrieb:
Das sieht man übrigens auch schön per rsync:
#v+ ~$ rsync -vv --dry-run ~/Downloads/git-annex.linux rsync-test |head -2 skipping directory git-annex.linux delta-transmission disabled for local transfer or --whole-file ~$ rsync -avv --dry-run chrisbra@server:~/foobar/ rsync-test 2>/dev/null |head -3 /tmp/rsync-test opening connection using: ssh -l chrisbra server rsync receiving incremental file list delta-transmission enabled ... #v+
$ rsync -avv --dry-run test localhost:/irgendwo/dh/test opening connection using: ssh localhost rsync --server -vvnlogDtpre.iLsf . /irgendwo/dh/test Password: setterm: $TERM is not defined. sending incremental file list created directory /irgendwo/dh/test delta-transmission enabled ./ [..]
BTW: ich verwende hier um vor Updates / zu klonen:
rsync -auxlPRAXSHD --delete / /NEUES_ROOT
Ich weiß nicht, ob die Optionen nicht teils redudant sind, aber es funktioniert prima :)
HTH, -dnh
Am 20.06.2013 22:58, schrieb David Haller:
Hallo,
Am Tue, 18 Jun 2013, Christian Brabandt schrieb:
Das sieht man übrigens auch schön per rsync:
#v+ ~$ rsync -vv --dry-run ~/Downloads/git-annex.linux rsync-test |head -2 skipping directory git-annex.linux delta-transmission disabled for local transfer or --whole-file ~$ rsync -avv --dry-run chrisbra@server:~/foobar/ rsync-test 2>/dev/null |head -3 /tmp/rsync-test opening connection using: ssh -l chrisbra server rsync receiving incremental file list delta-transmission enabled ... #v+
$ rsync -avv --dry-run test localhost:/irgendwo/dh/test opening connection using: ssh localhost rsync --server -vvnlogDtpre.iLsf . /irgendwo/dh/test Password: setterm: $TERM is not defined. sending incremental file list created directory /irgendwo/dh/test delta-transmission enabled ./ [..]
BTW: ich verwende hier um vor Updates / zu klonen:
rsync -auxlPRAXSHD --delete / /NEUES_ROOT
Ich weiß nicht, ob die Optionen nicht teils redudant sind, aber es funktioniert prima :)
HTH, -dnh
Das ist cool, würde mir insb. wg. der Virtualbox-Disks eine Menge Zeit sparen.
Aber beim Ausprobieren sehe ich, dass ein neues dir geschrieben wird. Offensichtlich landet rsync so nicht genau dort, wo ich es haben will. Was fehlt in meinem Befehl?:
Venus:~ # rsync -avv --dry-run /home/daniel/"VirtualBox VMs"/HardDisks localhost:/media/Total_Bkup1/home/daniel/"VirtualBox VMs"/HardDisks/ opening connection using: ssh localhost rsync --server -vvnlogDtpre.iLsf . "/media/Total_Bkup1/home/daniel/VirtualBox VMs/HardDisks/" Password: sending incremental file list created directory /media/Total_Bkup1/home/daniel/VirtualBox delta-transmission enabled HardDisks/ ...
(ohne "localhost:" wird kein neues dir gemacht, Tippfehler ausgeschlossen).
Gruss
Daniel
On Fri, Jun 21, 2013 at 12:22:25PM +0200, Daniel Bauer wrote:
Venus:~ # rsync -avv --dry-run /home/daniel/"VirtualBox VMs"/HardDisks localhost:/media/Total_Bkup1/home/daniel/"VirtualBox VMs"/HardDisks/ opening connection using: ssh localhost rsync --server -vvnlogDtpre.iLsf . "/media/Total_Bkup1/home/daniel/VirtualBox VMs/HardDisks/" Password: sending incremental file list created directory /media/Total_Bkup1/home/daniel/VirtualBox delta-transmission enabled HardDisks/ ...
(ohne "localhost:" wird kein neues dir gemacht, Tippfehler ausgeschlossen).
Wenn Du localhost:/ verwendest, wird eine Netzwerkverbindung zu localhost gemacht, also sind 2 Shells beteiligt. Du quotest das Leerzeichen in "VirtaualBox VMs" aber nur einmal. Probiere mal sowas wie
'home/daniel/VirtualBox\ VMs/HardDisks'
HTH,
Rainer
Am 21.06.2013 12:36, schrieb Rainer Sokoll:
On Fri, Jun 21, 2013 at 12:22:25PM +0200, Daniel Bauer wrote:
Venus:~ # rsync -avv --dry-run /home/daniel/"VirtualBox VMs"/HardDisks localhost:/media/Total_Bkup1/home/daniel/"VirtualBox VMs"/HardDisks/ opening connection using: ssh localhost rsync --server -vvnlogDtpre.iLsf . "/media/Total_Bkup1/home/daniel/VirtualBox VMs/HardDisks/" Password: sending incremental file list created directory /media/Total_Bkup1/home/daniel/VirtualBox delta-transmission enabled HardDisks/ ...
(ohne "localhost:" wird kein neues dir gemacht, Tippfehler ausgeschlossen).
Wenn Du localhost:/ verwendest, wird eine Netzwerkverbindung zu localhost gemacht, also sind 2 Shells beteiligt. Du quotest das Leerzeichen in "VirtaualBox VMs" aber nur einmal. Probiere mal sowas wie
'home/daniel/VirtualBox\ VMs/HardDisks'
HTH,
Rainer
Genial, so funktionierts! Herzlichen Dank, Rainer.
Daniel