Suche Backup Lösung mit Cronjob für Webspace, Mails & DB

  • Guten Abend,


    ich suche eine Lösung, wie man ein Backup von meinem gesamten Webspace machen kann. Also von der Datenbank, den Mails sowie den eig. Dateien! Dies sollte automatisch passieren sodass ich nichts machen muss(vergess sowas gerne mal :))! Die Daten können endweder per Mail an mich gehen aber am liebsten wäre mir, wenn die Dateien auf einen anderen Webspace übertragen werden. Ich weiß nicht genau, wie das geht, aber da muss irgendwie ein PHP-Script her und dann irgendwie mit dem Cronjob verbunden werden. Hab halt nicht soviel Ahnung.


    Wäre sehr nett, wenn mir jmd. helfen könnte!


    Grüße,
    Marc O.

  • Webspace bekommst du per ftp gesichert, mysql kannst du exportieren in eine Datei. Mails bekommst du per IMAP kopiert. Um das aber alles zu automatisieren brauchst du einen eigenen Server. Und wenn du den dann betreibst, dann könntest du auch Webspace & Mail darauf lassen.


    kurz: Nein. Bei Webhosting bist du vom Anbieter abhängig, ob der gut sichert bzw. die Installation der Systeme durchdacht ist. Gleichzeitig ist beim Webhosting der Preis auch niedrig.

    "Security is like an onion - the more you dig in the more you want to cry"

  • Mails kann ich so speichern viel mir gerade ein. Also wenn ich diese runterlade kann ich ja sagen, dass diese lokal auf meinem Rechner gespeichert werden. Also hat sich das erledigt. Trotzdem danke.


    Also ein Server sollte kein Problem sein. Den besitze ich.


    Also kann man die Daten nicht bzw. nicht ohne großen Aufwand automatisch sichern?


    @bysu: Kann man das auch auf einen anderen Server automatisch laden?

  • Das Problem ist weniger das packen, denn das bekommt man schnell hin. Viel mehr ist die Übertragung das Problem. Denn nach einer Gewissen Zeit wird der Conjob, zumindestens bei fast allen Webspace Anbietern, abgebrochen. Dennoch hier die passenden php Funktionen: PHP: FTP - Manual


    PS: Mit einem eigenen Server ist das natürlich kein Problem. Da schreibst du einfach nen kleines Shell Script welches die Datei herunterlädt.

  • aber gerade mysqldumper umgeht das.
    wie es bei dem webspace backup ding ist weiß ich nicht, ist aber zu vermuten.


    wenn es echte cronjobs sind, sollten diese eigentlich nicht abgebrochen werden. wenn es cronjobs sind, die einfach via http eine datei aufrufen, kann man das mit der entsprechenden php funktion umgehen.

  • Liest du eigentlich was ich schreibe oder interpretierst du nur Stichpunkte?


    Er will den gesamten Webspace sichern und dann auf einen anderen übertragen. Bei den meisten Webspace Paketen laufen die Cronjobs nur 30 Sekunden. Ist die Seite inkl. Datenbank und co. etwas größer kann auch das überspielen mal etwas länger dauern. Nämlich länger als 30 Sekunden. => Es kommt nur eine unvollständige Datei an.


    Aber noch einmal der Tipp mach es mit deinem Server. Da sollte es nicht solche Probleme geben.

  • nope. wir schreiben einfach aneinander vorbei.


    Zitat

    PHP-Skripte werden nach einer bestimmten Laufzeit abgebrochen (normalerweise nach 30 Sekunden), und so funktioniert ein Backup mit diversen Tools nur bis zu einer bestimmten Größe.


    Braucht das Skript länger als die vom Server zugestandene Ausführungszeit, so wird es einfach abgebrochen! Man erhält damit keine vollständige Sicherungskopie. Die gleiche Problematik besteht beim Wiedereinspielen eines Backups.


    Wer einmal ein Dumpfile von Hand in viele kleinere Einzelabschnitte zerlegt hat, um eine Datenbank wieder herzustellen, der hat leidvoll und arbeitsintensiv erfahren, wovon wir reden. Mit MySQLDumper gehört dieser manuelle Aufwand glücklicherweise der Vergangenheit an.

    MySQLDumper Website unter dem Punkt: Das Problem.


    Und diesen Selbstaufrufmechanismus kann man ja in der eigenen Backupstrategie berücksichtigen. Ansonsten würde ich ohnehin zu rsync oder FTPS oder SFTP raten.

  • MySQLDumper Website unter dem Punkt: Das Problem.


    Den Satz verstehe ich nicht. Ansonsten noch einmal: Ich rede hier nicht allein über die Datenbank oder wie diese gesichert wird. Das habe ich auch nie angedeutet oder gesagt.


    Ich sage das wenn die Daten (Scripte, Bilder, usw.) zu groß werden können sie nicht mehr per php auf einen anderen Webspace übertragen werden. Da du jedoch auf ein ganz anderen Problem, welches hier niemand sonst angesprochen hat, eingehst kann ich mit deinen Antworten nichts anfangen.



    Und diesen Selbstaufrufmechanismus kann man ja in der eigenen Backupstrategie berücksichtigen. Ansonsten würde ich ohnehin zu rsync oder FTPS oder SFTP raten.


    Im Startpost war aber noch nicht bekannt das er auch eine Server besitzt. Wie willst du auf einen Webspace rsync laufen lassen? HALLO bitte erst lesen.

  • Das ist sowas wie eine Quellenangabe...


    In dem Skript ist eine Routine, die das Programm immer wieder neu aufruft und damit die Laufzeitbeschränkung umgeht.


    In einer vollautomatischen Backupstrategie für Webspaces müsste man es also wie folgt machen:


    das skript wird aufgerufen und ausgeführt (

    PHP
    ignore_user_abort(true);

    )
    es packt alles in X MB große zips.


    es transferiert die zips auf einen anderen server (um nicht in einen brakeup zu laufen einfach keine zips über - beispielsweise 30 MB - anlegen lassen)
    (altes backup löschen)


    fertig.

  • Das ist sowas wie eine Quellenangabe...


    Naja, dazu sage ich jetzt mal nichts.



    Ansonsten habe ich nie behauptet das es nicht Möglich ist. Jedoch ist ein solches Script nicht in 5min. geschrieben. Zudem muss auf viele Faktoren geachtet werden. Entsprechend habe ich ihn ja auch empfohlen bei netcup zu fragen ob die nicht eine passende Lösung anbieten.


    Das Script (gut) zu schreiben würde, wenn man die Stunden berechnet, wesentlich teurer sein.


    PS: Ansonsten redest du um den heißen Brei herum. Bis zu deinem letzten Post müsste man schon ein Wahrsager sein um zu verstehen was du uns sagen möchtest.
    PSS: Hat er einen Server und das macht es in diesem fall einfacher (von diesem das Paket herunterladen)

  • Ich nehm ein selbstgemachtes Shell-rsync-Script.
    Vorteil von rsync zu FTP: es wird nur übertragen was geändert wurde.


    Gesichert werden Dateien und MySQL-Datenbanken.
    Als Hoster nehm ich HiDrive von Strato. Da gabs mal ne Computerbild-Aktion seit dem hab ich da lebenslang 30GB gratis.
    Cool bei denen ist dass die alle möglichen Protokolle unterstützen.


    backup.sh

  • Das Script gefällt mir gut, werde es wohl auch benutzen.


    Ein paar mehr Optionen fände ich persönlich noch schön:


    Backup /var/www/ = true/false
    Backup Databases = Datenbank1, Datenbank2, Datenbank3, Datenbank4, ...
    Backup local = true/false
    Local-path = /home/username/backup


    Das löschen der vorhandenen Backups wenn sie älter als (5) Tage alt sind, kann man dann ja mit einem extra script erledigen.

  • Ähm da gibt es keine vorhandenen Backups. Es ist immer nur die aktuellste Version da wenn du nicht z.B. wie ich bei HiDrive bist wo von denen aus nochmal 1x pro Tag ein Backup was man für 5 Tage aufrufen kann gemacht wird.


    Die Zeilen 17 und 18 sollte man sich für alle Ordner die man sichern will selber kopieren bzw. halt löschen oder auskommentieren wie man will.
    Feste Einstellungen würden mir zumindest nichts bringen weil ich sehr oft für jede Zeile noch Änderungen vornehme (z.B. eine rsync-Option hinzufüge um bestimmte Unterverzeichnisse auszuschließen).

  • Hello,


    danke fnkr für das Script! Ich habe das für mich noch ein bisschen angepasst damit es etwas sicherer ist. Vielleicht kann der ein oder andere ja auch etwas damit anfangen.
    Die Daten werden nun mit RSYNC über SSH übertragen und vorher mit MCRYPT verschlüsselt. Die Verbindung mit SSH erfolgt über Keyfiles.