Hi, ich habe einen DB-Server, auf dem eine MySQL-DB läuft die ich stündlich dumpe (zw. 6:00 und 20:00, per cron). Die Dumps sind Textdateien. Ein weiterer cronjob kopiert das alles um 21:00 auf einen Fileserver. So wie ich die manpage von rsync verstehe, wird ja nur das kopiert, was sich in der Datei geändert hat. Oder ? So sieht mein rsync-Befehl aus: rsync -avcrul --stats /var/lib/mysql/idgmausdb_backup_new/ /mnt/idg-2/SysAdmin_AG_Wurst/backup/mausdb/db In der zum cronjob zugehörigen E-Mail steht folgendes: ======================================= building file list ... done ./ rsync: failed to set times on "/mnt/idg-2/SysAdmin_AG_Wurst/backup/mausdb/db/.": Permission denied (13) mausdb_06-00.sql mausdb_07-00.sql mausdb_08-00.sql mausdb_09-00.sql mausdb_10-00.sql mausdb_11-00.sql mausdb_12-00.sql mausdb_13-00.sql mausdb_14-00.sql mausdb_15-00.sql mausdb_16-00.sql mausdb_17-00.sql mausdb_18-00.sql mausdb_19-00.sql mausdb_20-00.sql mausdb_mysql.sql rsync: failed to set times on "/mnt/idg-2/SysAdmin_AG_Wurst/backup/mausdb/db/.": Permission denied (13) Number of files: 27 Number of files transferred: 16 Total file size: 1888641272 bytes Total transferred file size: 1610922302 bytes Literal data: 1610922302 bytes Matched data: 0 bytes File list size: 1073 File list generation time: 24.415 seconds File list transfer time: 0.000 seconds Total bytes sent: 1611120809 Total bytes received: 438 =========================================== Da in der Datenbank am Tag höchstens ein paar Hundert inserts gemacht werden, müßten die dumps gg. dem Vortag größtenteils identisch sein. Lt. manpage sagt "Literal data": Literal data is how much unmatched file-update data we had to send to the receiver for it to recreate the updated files. Und matched data: Matched data is how much data the receiver got locally when recreating the updated files Ich würde bei "Literal Data" ein wesentlich kleineren Wert erwarten, da ja die jeweiligen Dateien größtenteils identisch sind. Oder mach ich da einen Denkfehler ? Tatsächlich werden ja wohl die gesamten Dateien rübergeschoben. Bernd -- Bernd Lentes Systemadministration institute of developmental genetics Gebäude 35.34 - Raum 208 HelmholtzZentrum München bernd.lentes@helmholtz-muenchen.de phone: +49 (0)89 3187 1241 fax: +49 (0)89 3187 2294 Projektplanung ist der momentane Stand des Irrtums Helmholtz Zentrum Muenchen Deutsches Forschungszentrum fuer Gesundheit und Umwelt (GmbH) Ingolstaedter Landstr. 1 85764 Neuherberg www.helmholtz-muenchen.de Aufsichtsratsvorsitzende: MinDir'in Baerbel Brumme-Bothe Geschaeftsfuehrer: Prof. Dr. Guenther Wess, Dr. Alfons Enhsen, Renate Schlusen (komm.) Registergericht: Amtsgericht Muenchen HRB 6466 USt-IdNr: DE 129521671 -- 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
Am Montag, 2. Mai 2016, 20:55:48 schrieb Lentes, Bernd:
(...). rsync -avcrul --stats /var/lib/mysql/idgmausdb_backup_new/ /mnt/idg-2/SysAdmin_AG_Wurst/backup/mausdb/db (...). Oder mach ich da einen Denkfehler ? Tatsächlich werden ja wohl die gesamten Dateien rübergeschoben.
Ich denke schon: | -W, --whole-file | With this option rsync’s delta-transfer algorithm is | not used and the whole file is sent as-is instead. The | transfer may be faster if this option is used when the | bandwidth between the source and destination | machines is higher than the bandwidth to disk (especially | when the "disk" is actually a networked filesystem). | This is the default when both the source and destination are | specified as local paths, but only if no batch-writing | option is in effect. Um die Veränderungen feststellen zu können, müssen sowohl die Quell- als auch die Ziel-Datei komplett gelesen werden und dann auch noch die Veränderungen geschrieben werden. Wenn beide Dateien lokal sind, wie bei dir, dann kann man auch gleich die ganze Datei einfach kopieren: 2x lesen + 1x schreiben ist meistens langsamer als 1x lesen + 1x schreiben Sinnvoll ist dieser "delta-transfer algorithm" dann, wenn über ein Netzwerk kopiert wird und das Netzwerk langsamer ist als beide Festplatten -- oben ist der gegensätzliche Fall beschrieben. Dann können parallel sowohl auf dem Quell- als auch auf dem Ziel-Rechner die Dateien gelesen werden und es müssen nur die Veränderungen über das langsame Netzwerk übertragen werden. Dafür darfst du das Ziel aber nicht auf der Quelle lokal mounten sondern lässt auf dem Ziel implizit auch ein rsync laufen oder halt direkt einen rsyncd. Gruß Jan -- 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
----- On May 2, 2016, at 9:22 PM, Jan Ritzerfeld suse@mailinglists.jan.ritzerfeld.org wrote:
Am Montag, 2. Mai 2016, 20:55:48 schrieb Lentes, Bernd:
(...). rsync -avcrul --stats /var/lib/mysql/idgmausdb_backup_new/ /mnt/idg-2/SysAdmin_AG_Wurst/backup/mausdb/db (...). Oder mach ich da einen Denkfehler ? Tatsächlich werden ja wohl die gesamten Dateien rübergeschoben.
Ich denke schon: | -W, --whole-file | With this option rsync’s delta-transfer algorithm is | not used and the whole file is sent as-is instead. The | transfer may be faster if this option is used when the | bandwidth between the source and destination | machines is higher than the bandwidth to disk (especially | when the "disk" is actually a networked filesystem). | This is the default when both the source and destination are | specified as local paths, but only if no batch-writing | option is in effect.
Ja, das war's. "This is the default when both the source and destination are specified as local paths, but only if no batch-writing option is in effect" Danke. Bernd Helmholtz Zentrum Muenchen Deutsches Forschungszentrum fuer Gesundheit und Umwelt (GmbH) Ingolstaedter Landstr. 1 85764 Neuherberg www.helmholtz-muenchen.de Aufsichtsratsvorsitzende: MinDir'in Baerbel Brumme-Bothe Geschaeftsfuehrer: Prof. Dr. Guenther Wess, Dr. Alfons Enhsen, Renate Schlusen (komm.) Registergericht: Amtsgericht Muenchen HRB 6466 USt-IdNr: DE 129521671 -- 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
Hi,
ich habe einen DB-Server, auf dem eine MySQL-DB läuft die ich stündlich dumpe (zw. 6:00 und 20:00, per cron). Die Dumps sind Textdateien. Ein weiterer cronjob kopiert das alles um 21:00 auf einen Fileserver. So wie ich die manpage von rsync verstehe, wird ja nur das kopiert, was sich in der Datei geändert hat. Oder ? So sieht mein rsync-Befehl aus:
rsync -avcrul --stats /var/lib/mysql/idgmausdb_backup_new/ /mnt/idg-2/SysAdmin_AG_Wurst/backup/mausdb/db
Hallo Bernd,
die db dumps sind ja vollständig..... Ich habe mal für das gleiche Szenario folgendes aufgesetzt. Es gibt lokal eine Kopie des vollen Dumps. Bei der Sicherung wird ein neuer Dump und danach ein Diff erzeugt. Wenn das Diff kleiner als 20% des Dumps ist, wird das Diff übertragen, andernfalls der Dump (der dann zur neuen lokalen Referenz wird). Die "Übertragung" hiesst dann, dass die betreffende Datei in einem Ordner liegt, der mit rsync gesichert wird. Zur Wiederhertellung müsste man vom Fileserver also den letzten Dump und das letzte Diff holen Viele Grüsse Wolfgang -- 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
participants (3)
-
hamann.w@t-online.de
-
Jan Ritzerfeld
-
Lentes, Bernd