Howto: Sitecopy und große Dateien

Nachdem mir meine alte Backup-auf-den-FTP-Server-kopieren-Lösung (mit ncftp) das ein oder andere Mal abgeschmiert ist, habe ich gestern sitecopy nach Anregung aus dem Rootforum installiert.
Natürlich trat auch bei mir das Problem mit den großen Dateien auf.
Ein export CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" vor dem ./configure schien es erstmal zu lösen.

Heute morgen war folgendes in meiner Mailbox:

sitecopy: Error: Corrupt site storage file for backup':
sitecopy: Size overflow (5761186024) at line 20
sitecopy: Skipping site
backup’.
sitecopy: No valid sites specified.

Das liegt daran, dass die Funktion, die die XML-Datei mit den Site-Infos einliest, an der Stelle nur ein LONG erwartet und die Größe der Zahl LONG weit überschreitet.
Die Lösung hier musste ich leicht abwandeln (LLONG_MAX gab es bei meinem Debian-Sarge gcc/glibc irgendwie nicht), sodass ich nun folgenden Patch zur Verfügung stellen kann:

fabian@pluto: diff sitestore.c.org sitestore.c
338,339c338,339
< doc->stored.size = strtol(cdata, NULL, 10);
< if (doc->stored.size == LONG_MAX) {
---
> doc->stored.size = strtoll(cdata, NULL, 10);
> if (doc->stored.size == LONG_LONG_MAX) {

Es scheint nun zu funktionieren.

3 Replies to “Howto: Sitecopy und große Dateien”

  1. Diesen Fehler hatte ich auch und kamm nicht dahinter wieso. Mangels Zeit hab ich mich aber nicht mehr genauer damit befasst aber nun werde ich mir das ganze nochmal anschauen weil mir die lösung bisher am besten gefällt.

  2. Backup ist gut! Deshalb mache ich oefter eines von der affenbande (die karre auf der ihr hier rumlungert). Um das Backup auf den FTP zu schaufeln benutze ich ncftp…. und anscheinend schmiert das gerne mal ab.

    Zumindest sagt das er hier.

    Vi…

Leave a Reply

Your email address will not be published. Required fields are marked *