Ergebnis 1 bis 6 von 6
  1. #1
    Kunde
    Registriert seit
    12.12.2012
    Beiträge
    9

    Automatisiertes Komplettbackup

    Hallo zusammen,

    ich bin gerade auf der Suche nach einer automatisierten Lösung für das Website-Backup.
    Früher bei einem meiner alten Projekte habe ich den MySQLDumper für die Datenbank verwendet, doch wird dieser ja nicht mehr weiterentwickelt und bleibt somit bei PHP5 stehen. Kennt ihr eine Alternative die noch aktiv entwickelt wird?

    Etwas fahrlässig war ich bisher beim Thema Dateisystem-Backup, doch auch da will ich jetzt etwas zur Absicherung haben. Ich bin mir allerdings nicht sicher, wie ich das mit einem ManagedHostingPro hier am besten hinbekomme. Irgendwelche Tipps um auch das zu Automatisieren?

    Vielen Dank schon einmal

  2. #2
    Reseller Avatar von Nico
    Registriert seit
    19.02.2002
    Beiträge
    782

    AW: Automatisiertes Komplettbackup

    Moin,
    Zitat Zitat von Dr_Cox1911 Beitrag anzeigen
    Früher bei einem meiner alten Projekte habe ich den MySQLDumper für die Datenbank verwendet, doch wird dieser ja nicht mehr weiterentwickelt und bleibt somit bei PHP5 stehen. Kennt ihr eine Alternative die noch aktiv entwickelt wird?
    Den hatte ich früher auch. Nun hab ich mir ein Shellscript geschrieben, welches die DB's in ein bestimmtes Verzeichnis sichert und ältere Sicherungen löscht.
    Bei Interesse stelle ich das gerne zur Verfügung.

    MfG

  3. #3
    Kunde
    Registriert seit
    12.12.2012
    Beiträge
    9

    AW: Automatisiertes Komplettbackup

    Zitat Zitat von Nico Beitrag anzeigen
    Bei Interesse stelle ich das gerne zur Verfügung.
    Das wäre super Nico!

    Habe gestern erst gemerkt, dass bei meinem Tarif ja tatsächlich ein kostenloser SSH mit dabei ist
    Hatte dann etwas mit mysqldump rumprobiert und ein normales Backup hinbekommen, aber dein Script hört sich wegen dem automatischen Löschen sehr interessant an.

    Werde mich die Tage mal in rsync einarbeiten und rumprobieren, da etwas für das Dateisystem zu basteln. Wenn jemand dafür auch bereits etwas erarbeitet hat dann bitte immer her damit.

  4. #4
    Reseller Avatar von Nico
    Registriert seit
    19.02.2002
    Beiträge
    782

    AW: Automatisiertes Komplettbackup

    Das Script als dbbackup.sh oder so auf dem Server speichern und ausführbar machen. Dann per Cronjob täglich ausführen lassen. Läuft das Script mehrmals am Tag, wird die letzte Sicherung des gleichen Tages vor dem Sichern gelöscht.

    Code:
    #!/bin/bash
    # Datenbanken
    declare -a hosts=("127.0.0.1" "127.0.0.2" "127.0.0.3" )
    declare -a dbs=("db123456_1" "db123456_2" "db123456_3" )
    declare -a users=("db123456_1" "db123456_2" "db123456_3" )
    declare -a pass=("passwort1" "passwort2" "passwort3" )
    # Verzeichnis zum Sichern
    Backupdir="/kunden/123456_22051/pfad/zum/BackupOrdner"
    DeleteOlderThanDays=10
    DeleteMask=db*.sql.gz
    
    ##################################################################
    ############################ Sichern #############################
    ##################################################################
    typeset -i i=0 max=${#hosts[*]}
    while (( i < max ))
    do
       echo "Sicherung: ${hosts[$i]} DB: ${dbs[$i]}"
       FILE=${Backupdir}/${dbs[$i]}.`date +"%Y%m%d"`.sql
       ## Falls vorhanden, dateileichen löschen
       rm ${FILE}  2> /dev/null
       rm ${FILE}.gz  2> /dev/null
       /usr/bin/mysqldump ${dbs[$i]} --routines --quick --host=${hosts[$i]} --user=${users[$i]} --password=${pass[$i]} > ${FILE}
       gzip ${FILE}
       echo "${dbs[$i]} gesichert"
       i=i+1
    done
    
    ##################################################################
    #################### Alte Sicherungen löschen ####################
    ##################################################################
    find ${Backupdir} -mtime +${DeleteOlderThanDays} -iname ${DeleteMask} -delete
    hosts, dbs, users und pass sind arrays mit den entsprechenden Daten. Du kannst beliebig viele Datenbanken sichern, musst allerdings schauen, ob das mit deinem Scriptlimits noch klappt. 127.0.0.1 ist für MySQL 3, 127.0.0.2 für MySQL 4 und 127.0.0.3 für MySQL 5 Datenbanken.

    Backupdir - sollte klar sein.

    DeleteOlderThanDays - Tage bis eine Sicherung gelöscht werden soll.

    DeleteMask - löscht in dem Fall Dateien die db_irgendwas.sql.gz heißen.

    Die Sicherungsdateien heißen dann nach obigen Beispiel db123456_1.20170111.sql.gz, db123456_2.20170111.sql.gz und db123456_3.20170111.sql.gz. Für jede DB eine eigene Backupdatei.

    MfG
    Nico

  5. #5
    Kunde
    Registriert seit
    12.12.2012
    Beiträge
    9

    AW: Automatisiertes Komplettbackup

    Danke Nico!

    Dein Script ist schön detailliert und so wie ich das sehe, ließe sich das auch direkt für rsync verwenden, muss ja quasi nur der mysqldump Aufruf mit dem entsprechenden rsync Aufruf ausgetauscht werden.
    Oder übersehe ich da in meinem jugendlichen Leichtsinn etwas?

  6. #6
    Forenexperte Avatar von masterframe
    Registriert seit
    16.08.2001
    Beiträge
    7.729

    AW: Automatisiertes Komplettbackup

    Ist gar nicht nötig.

    Bei rsync kann man durch parameter definieren wie mit vorhandenen Dateien umgegangen werden soll wenn diese nicht mehr auf dem Quellserver verfügbar sind.

    rsync löscht automatisch unbenötigtes Zeugs.
    Oder bewahrt es eben auf.
    Je nach Einstellung.

    Gruß,
    masterframe
    Alle Postings erfolgen freiwillig und nach bestem Gewissen. Haftung ausgeschlossen. Keine Rechtsberatung. Beschwerden bitte über unser Kontaktformular. WHOAMI

Ähnliche Themen

  1. Problem beim Komplettbackup mit unison
    Von TPdev im Forum Scriptsprachen / SQL / Anwendungen
    Antworten: 4
    Letzter Beitrag: 26.10.2006, 16:47

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •