der-daniel: backup script (php/perl) gesucht

hallo welt!

ich suche nun schon seit gut 2h nach einem php oder perl skript,
dass ich per cronjob aufrufen kann und alle dateien (~300mb) in einem verzeichnis in ein zip/tar/egal archiv packt und dann per ftp auf einen anderen server kopiert/verschiebt.

ein perfektes tool für meine mysql-datenbanken hab ich schon gefunden ->mysqldumper.
jetzt brauch ich noch genau sowas für meine dateien...

kennt ihr da was? ich hab miene suche mittlerweile aufgegeben.
achja: ich kann exec() oder system() oder ähnliches nicht einsetzen, da es sich um einen standard-webspace handelt.

danke, bin schon gespannt.

  1. moin,

    ich suche nun schon seit gut 2h nach einem php oder perl skript,
    dass ich per cronjob aufrufen kann und alle dateien (~300mb) in einem verzeichnis in ein zip/tar/egal archiv packt und dann per ftp auf einen anderen server kopiert/verschiebt.

    use Archive::Tar;
    use Net::FTP;

    evntl. Net::SCP

    der Rest ist Tipparbeit.

    roro

    --
    Bezahle nicht den Fährmann, bis er Dich auf die andere Seite gebracht hat! Chris de Burgh
    1. abend,
      ich leider nix sprechen perl... :(
      danke dennoch!

      1. Lieber Daniel,

        ich leider nix sprechen perl... :(

        mit PERL kannst Du (_fast_) _alles_ machen. Es ist nicht schwer zu lernen.

        Stark ist PERL in Sachen Datenbankzugriff, Filesystem und Sockets (TCP/IP) und, und, und... Es lohnt sich also!

        Und dann auch noch CPAN: die Repository für PERL-Module! Eine Fundgrube für Tüftler und Programmierer!

        Schau mal rein!

        --roro

  2. Hello,

    ein perfektes tool für meine mysql-datenbanken hab ich schon gefunden ->mysqldumper.

    Hast Du auch daran gedacht, dass der Daemon während des Dumps heruntergefahren sein muss, bzw. jegliche Veränderung an der DB unterbunden werden muss?
    Sonst erzeugt der Dumper nämlich höchstwahrscheinlich eine unbrauchbare, da inkonsistente (nicht mehr integere) Kopie der DB.

    Für die übrigen Daten gilt das gleiche.
    Kopieren nur im stillgelegten Zustand, sonst passt nachher nichts mehr zusammen.

    Übrigens dauert ein Full-Copy auf einem anständigen Linux-System bei 300MB nur wenige Sekunden.
    Auf einem Windows-System kann das schon mal eine halbe Stunde dauern :-((

    Während dieser Zeit solltest Du den Server dann besser offline nehmen.

    Tar und Zip kannst Du dann an der Kopie in Ruhe durchführen.

    Harzliche Grüße vom Berg
    http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau

    1. Hello,

      hi

      Hast Du auch daran gedacht, dass der Daemon während des Dumps heruntergefahren sein muss, bzw. jegliche Veränderung an der DB unterbunden werden muss?
      Für die übrigen Daten gilt das gleiche.

      das ist kein problem, da zu der backupzeit mit sicherheit niemand daran arbeitet...

      Übrigens dauert ein Full-Copy auf einem anständigen Linux-System bei 300MB nur wenige Sekunden.

      echt? dachte nicht, dass das so schnell geht.
      bleibt nur die frage womit ich das realisieren kann...

      lg,
      der-daniel

      1. Hello,

        Übrigens dauert ein Full-Copy auf einem anständigen Linux-System bei 300MB nur wenige Sekunden.
        echt? dachte nicht, dass das so schnell geht.
        bleibt nur die frage womit ich das realisieren kann...

        Hast Du vollen Zugriff auf den Server?
        Ich interpretiere aus dem Kontext, dass es ein Linux-Server ist.

        Da sind eigentlich alle Mittel an Board.
        Ein rekursives Copy (cp) unter Berücksichtigung der Dateirechte sollte der erste Schritt sein.
        Übrigens kann man die Dateien der MySQL-Datenbank, wenn Du MyISAM verwendest, auch einfach kopieren. Das geht am schnellsten.

        Das wichtigste dürfte aber sein, dass Du auch mal ein paar Rücksicherungsversuche machst, bevor du die Kopien in die Ecke legst und dich darauf verlässt, dass es schon funktionieren wird...

        Harzliche Grüße vom Berg
        http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau

        1. hi again

          Hast Du vollen Zugriff auf den Server?
          Ich interpretiere aus dem Kontext, dass es ein Linux-Server ist.

          leider nein, wie gesagt standard-lamp-webspace.
          kann nur auf php oder perl ressourcen zurückkgreifen, deshalb suche ich auch ein fertiges skript für diese aufgabe, dass per cronjob angestoßen werden kann...

          langsam seh ich kein licht mehr am ende des tunnels :(
          lg,
          der-daniel

          1. Hello,

            Hast Du vollen Zugriff auf den Server?
            Ich interpretiere aus dem Kontext, dass es ein Linux-Server ist.
            leider nein, wie gesagt standard-lamp-webspace.
            kann nur auf php oder perl ressourcen zurückkgreifen, deshalb suche ich auch ein fertiges skript für diese aufgabe, dass per cronjob angestoßen werden kann...

            Nun lass Dir doch nicht jeden Wurm einzeln aus der Nase ziehen.

            • Kannst Du auf dem Server exec() benutzen?
            • Läuft PHP als Modul oder als CGI?
            • ist der Safe-Mode aktiv?
            • Wie kannst/darfst Du CronJobs realisieren?
            • Welche Verwaltungswerkzeuge hast Du für den Zugang (Services aud der Kiste)?

            Harzliche Grüße vom Berg
            http://www.annerschbarrich.de

            Tom

            --
            Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
            Nur selber lernen macht schlau

            1. Hello,

              hi

              Nun lass Dir doch nicht jeden Wurm einzeln aus der Nase ziehen.

              • Kannst Du auf dem Server exec() benutzen?

              steht schon im ersten post, nein nix derartiges

              • Läuft PHP als Modul oder als CGI?

              keine ahnung, ist doch völlig irrelevant, oder?

              • ist der Safe-Mode aktiv?

              nein

              • Wie kannst/darfst Du CronJobs realisieren?

              cronjob.de

              • Welche Verwaltungswerkzeuge hast Du für den Zugang (Services aud der Kiste)?

              confixx

              lg,
              der-daniel

              1. Hello,

                • Läuft PHP als Modul oder als CGI?
                  keine ahnung, ist doch völlig irrelevant, oder?

                Nein, denn die möglichen Rechte sind andere.

                Ich gehe also davon aus, dass Du nicht auf die Datenbankverzeichnisse zugreifen kannst.
                Das macht der mysqld für Dich.

                Du kannst dann wahrscheinlich auch nur deine Dokument Root nebst Unterverzeichnissen sichern.

                Wohin willst Du die Sicherung denn schieben, wenn sie fertig ist?
                Ist der andere Server genauso schlecht handhabbar?

                Wäre es nicht einfacher, dann über FTP vom anderen Server aus einmal am Tag ein Download durchzuführen, und vorher die MySQL-Tabellen als CSV (Achtung Fallstricke..., aber CSV wird das kompakteste Format sein ohne ZIP) in ein spezielles Verzeichnis innerhalb deines Webspaces zu kopieren.?

                Wieviele Datensätze bei welcher Satzgröße haben denn die MySQL-Tabellen?

                Harzliche Grüße vom Berg
                http://www.annerschbarrich.de

                Tom

                --
                Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                Nur selber lernen macht schlau

                1. Hello,

                  lieber tom,

                  Du kannst dann wahrscheinlich auch nur deine Dokument Root nebst Unterverzeichnissen sichern.

                  um mehr geht's mir ja gar nicht, damit wär ich schon mehr als glücklich.
                  wie bereits geschrieben, geht es mir NICHT um die datenbank. das macht der mysqldumper und zwar perfekt.

                  ich brauch nur mein gesamtes root inkl. unterverzeichnisse in eine zip und per ftp auf einen anderen server...

                  danke,
                  der-daniel