Ankündigung

Einklappen
Keine Ankündigung bisher.

Automatische MySQL-Backups im ManagedHosting

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Automatische MySQL-Backups im ManagedHosting

    Hallo,

    gibt es in einem ManagedHosting-Paket eine Möglichkeit automatische Backups der MySQL-Datenbanken durchzuführen, z.B. über die Cron-Jobs?
    Ich würde mir hier z.B. einen MySQL-Dump vorstellen, den ich später über SFTP downloaden kann.

    Alternativ könnte ich mir auch etwas via Remote-Zugriff auf die MySQL-DB skripten, aber ich glaube diese Zugriffe sind an der Firewall blockiert.

    Grüße
    Sascha

    #2
    Nils Dornblut hat da mal ein Script dazu geschrieben.

    Ansonsten kannst du natürlich über PHP oder Shell-Script ein BAckup machen.
    Alternative: Über SSH kannst du einen Tunnel zum MySQL-Server aufbauen und entsprechend darauf dann zugreifen.

    Kommentar


      #3
      Zitat von Lukas M. Beitrag anzeigen
      Nils Dornblut hat da mal ein Script dazu geschrieben.
      Das Skript gibt es noch hier:

      Hallo Community, ich nutze seit Jahren von Nils Dornblut ein Script, welches meine SQL-Datenbank jede Nacht einmal speichert. Leider scheint das Script nicht mehr zu funktionieren. Wahrscheinlich lief es mit einer alten DB-Version. Hat jemand zur automatisierten Sicherung einen Tipp, mit welchem Script ich das weiterhin


      Mit freundlichen Grüßen

      Nils Dornblut

      Blog - Facebook - Twitter
      Communitybetreiber: domainfactory GmbH
      Impressum / Pflichtangaben

      Kommentar


        #4
        Hmm leider bekomme ich das Teil nicht richtig zum Laufen per Cronjob. Wenn ich die URL des Scriptes per HTTP aufrufe (https://www.domain.de/db-backup/back...ipt/backup.php), wird ein Dump meiner Datenbank in dem entsprechenden Ordner erstellt. Nutze ich dieselbe URL in einem Cronjob bei DF, so heißt es beim Ausführen "Unbekannter Fehler beim Ausfuehren des Cronjobs Nr. 2XXXXX". Als Konfiguration habe ich einmal "direkter Aufruf" mit "webseiten/trv-stable/modx/db-backup/backup_script/backup.php" probiert, darüber hinaus auch über http und mit der cron.php. Eine Idee was ich falsch mache?

        Gruß,
        Mario

        Klicken Sie bitte auf die Grafik für eine vergrößerte Ansicht

Name: 2.jpg
Ansichten: 734
Größe: 104,3 KB
ID: 7111

        Klicken Sie bitte auf die Grafik für eine vergrößerte Ansicht

Name: 1.jpg
Ansichten: 1040
Größe: 44,2 KB
ID: 7110
        Zuletzt geändert von techreview; 11.09.2020, 20:51.

        Kommentar


          #5
          Hallo techreview,

          das Skript ist aktuell noch nicht auf MariaDB angepasst, wenn Sie versuchen es in den neuen 64-Bit-Tarifen zu nutzen?

          Mit freundlichen Grüßen

          Nils Dornblut
          Blog - Facebook - Twitter
          Communitybetreiber: domainfactory GmbH
          Impressum / Pflichtangaben

          Kommentar


            #6
            Hallo Nils,

            kennst du denn eine Alternative? Ich benötige meine DB-Backups, hab aber irgendwie noch nichts gefunden was wieder funktioniert.

            Wäre super,
            Gruß Mario

            Kommentar


              #7
              Zitat von techreview Beitrag anzeigen
              kennst du denn eine Alternative? Ich benötige meine DB-Backups, hab aber irgendwie noch nichts gefunden was wieder funktioniert.
              Eine automatisierte Alternative habe ich bisher nicht getestet, tut mir leid.

              Mit freundlichen Grüßen

              Nils Dornblut
              Blog - Facebook - Twitter
              Communitybetreiber: domainfactory GmbH
              Impressum / Pflichtangaben

              Kommentar


                #8
                Moin,
                ich hab hier https://forum.df.eu/forum/user-für-u...=1357#post1357 mal ein Script gepostet, das sollte auch mit MariaDB funktionieren. Ich hab aktuell keinen 64bit Tarif und kann das nicht testen.

                MfG

                Kommentar


                  #9
                  Hallo Nico,

                  danke für dein Script, nachdem ich es erst nicht zum Laufen bekommen hatte, weil ich mit den Ordner durcheinanderkam, funktioniert es jetzt. Allerdings landen alle Backups aktuell im Hauptordner "dbbackup". Verschiebt er die dann automatisch nach "weekly" usw?

                  Gruß,
                  Mario
                  Zuletzt geändert von techreview; 10.10.2020, 20:26.

                  Kommentar


                    #10
                    Zitat von techreview Beitrag anzeigen
                    Hallo Nico,

                    danke für dein Script, nachdem ich es erst nicht zum Laufen bekommen hatte, weil ich mit den Ordner durcheinanderkam, funktioniert es jetzt. Allerdings landen alle Backups aktuell im Hauptordner "dbbackup". Verschiebt er die dann automatisch nach "weekly" usw?
                    Bitte hier gerne mal das angepasste Skript zeigen, dann schaue ich auch mit. Sicher schneller als die generelle Anpassung bzw. ggf. kann ich etwas dann mit nutzen

                    Viele Grüße

                    Nils Dornblut

                    Blog - Facebook - Twitter
                    Communitybetreiber: domainfactory GmbH
                    Impressum / Pflichtangaben

                    Kommentar


                      #11
                      Zitat von techreview Beitrag anzeigen
                      Hallo Nico,

                      danke für dein Script, nachdem ich es erst nicht zum Laufen bekommen hatte, weil ich mit den Ordner durcheinanderkam, funktioniert es jetzt. Allerdings landen alle Backups aktuell im Hauptordner "dbbackup". Verschiebt er die dann automatisch nach "weekly" usw?

                      Gruß,
                      Mario
                      Moin Mario,
                      ja das ist korrekt. Die aktuelle Woche liegt immer im dbbackup, danach verschiebt er diese in die entsprechenden Unterordner.

                      MfG

                      Kommentar


                        #12
                        Zitat von Nils Dornblut Beitrag anzeigen
                        Bitte hier gerne mal das angepasste Skript zeigen, dann schaue ich auch mit. Sicher schneller als die generelle Anpassung bzw. ggf. kann ich etwas dann mit nutzen
                        Viele Grüße
                        Nils Dornblut
                        Hi Nils,

                        ich hoffe für den Nico ist es in Ordnung, dass ich dir das Script nachfolgend mitgebe, wenn nicht muss dann bei Bedarf der Post nochmal editiert werden. Nico sag dann bitte Bescheid, wenns nicht klar geht mit der Weitergabe.

                        Das Script sieht folgendermaßen aus und funktioniert bisher wunderbar:

                        Code:
                        #!/bin/bash
                        # Nico Renken
                        # 2017
                        # Datenbanken
                        declare -a hosts=("localhost" "localhost" "localhost" "localhost" "localhost" )
                        declare -a dbs=("db123456_1" "db123456_2" "db123456_3" "db123456_4" "db123456_5" )
                        declare -a users=("db123456_1" "db123456_2" "db123456_3" "db123456_4" "db123456_5" )
                        declare -a pass=("dbpass_1" "dbpass_2" "dbpass_3" "dbpass_4" "dbpass_5" )
                        # Verzeichnis zum Sichern
                        Backupdir="/kunden/123456_12345/webseiten/dbbackup"
                        # Taegliche Sicherungen nach X Tagen loeschen
                        DeleteOlderThanDays=10
                        # Wochentliche Sicherungen nach X Tagen loeschen
                        WeeklyDeleteOlderThanDays=60
                        # Monatliche Sicherungen nach X Tagen loeschen
                        MonthlyDeleteOlderThanDays=365
                        DeleteMask=db*.sql.gz
                        ################################################## ################
                        current_month_day=`date +"%d"`
                        current_week_day=`date +"%u"`
                        ################################################## ################
                        ############################ Sichern #############################
                        ################################################## ################
                        typeset -i i=0 max=${#hosts[*]}
                        while (( i < max ))
                        do
                        echo "Sicherung: ${hosts[$i]} DB: ${dbs[$i]}"
                        FILE=${Backupdir}/${dbs[$i]}'___'`date +"%d-%m-%Y-%H-%M"`.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
                        # monatliches Backup immer am 1.
                        if [ "${current_month_day}" -eq 1 ] ; then
                        cp ${FILE}.gz ${Backupdir}/monthly
                        fi
                        # Sonntags das Weekly Backup
                        if [ "${current_week_day}" -eq 7 ] ; then
                        cp ${FILE}.gz ${Backupdir}/weekly
                        fi
                        done
                        
                        ################################################## ################
                        #################### Alte Sicherungen loeschen ###################
                        ################################################## ################
                        find ${Backupdir} -maxdepth 1 -mtime +${DeleteOlderThanDays} -iname ${DeleteMask} -delete
                        find ${Backupdir}/weekly -maxdepth 1 -mtime +${WeeklyDeleteOlderThanDays} -iname ${DeleteMask} -delete
                        find ${Backupdir}/monthly -maxdepth 1 -mtime +${MonthlyDeleteOlderThanDays} -iname ${DeleteMask} -delete
                        Das Ganze als "dbbackup.sh"-Datei speichern, die Dateizugriffsrechte auf 500 packen, die Ordner "weekly" und "monthley" anlegen und das Ganze dann als Cronjob laufen lassen.

                        Gruß
                        Mario
                        Zuletzt geändert von techreview; 15.10.2020, 18:26.

                        Kommentar


                          #13
                          Zitat von techreview Beitrag anzeigen
                          ...ich hoffe für den Nico ist es in Ordnung...
                          Natürlich, ist doch nur ein bisschen Text
                          Ist doch gut, wenn es anderen hilft 👍🏻
                          MfG

                          Kommentar


                            #14
                            Hallo zusammen,

                            vielen Dank. Ich werde schauen, dass ich da mal Zeit finde in den nächsten Monaten.

                            Viele Grüße

                            Nils Dornblut
                            Blog - Facebook - Twitter
                            Communitybetreiber: domainfactory GmbH
                            Impressum / Pflichtangaben

                            Kommentar


                              #15
                              Hallo Nils,

                              ich nutze seit einer Weile dein Backup-Script und bin damit sehr zufrieden. Ich hoffe, daß es demnächst keine Probleme gibt, wenn es im 64Bit-System weiterverwendet werden soll.

                              Allerdings ist mir heute folgende Fehlermeldung aufgefallen:
                              Code:
                              [B]Deprecated[/B]: The each() function is deprecated. This message will be suppressed on further calls in [B]/kunden/413912_91334/ldm/mysqlbackup/backup_script/backup_admin.inc.php[/B] on line [B]170[/B]
                              Ich will das jetzt nicht händisch umbauen, weil ich mir nicht sicher bin, ob die Schleifen sich in irgendwelchen Variablen gegenseitig beeinflussen. (vgl. https://stackoverflow.com/questions/...-lot-more-time)

                              Gruß
                              Sigune

                              Kommentar

                              Lädt...
                              X