Automatisches mySQL-Backup + Datenübertragung auf anderes System
Hallo Zusammen,
ich bräuchte mal eure Hilfe.
Ich bin leider ein ziemlicher Linux-Neuling, also bitte verzeiht mir blöde Fragen...
Ich würde gerne bei einer Linux-Maschine (Ubuntu) das Datenbank-Backup automatisieren.
Ziel wäre...
...regelmäßiges herunterladen einer Backup-Datei (haben wir händisch mit dem Befehl mysqldump schon einmal gemacht)
...diese Datei soll einen Zeitstempel bekommen
...und soll anschließen auf ein anderes System, in unserem Fall ein Windows-Backup-Server, übertragen werden (haben wir händisch schon einmal mit dem Befehl smbclient versucht)
...alle Backup-Dateien, die älter als 3 Tage sind, sollen automatisch aus dem Ordner gelöscht werden
Nun ist die Frage wie ich das realisieren kann? Mit einem Skript und dann über Cronjob? Hier bräuchte ich dann aber eure Hilfe, bin da wirklich ein absoluter Anfänger.
Ich freue mich auf eure Unterstützung.
Vielen Dank im Voraus.
ich bräuchte mal eure Hilfe.
Ich bin leider ein ziemlicher Linux-Neuling, also bitte verzeiht mir blöde Fragen...
Ich würde gerne bei einer Linux-Maschine (Ubuntu) das Datenbank-Backup automatisieren.
Ziel wäre...
...regelmäßiges herunterladen einer Backup-Datei (haben wir händisch mit dem Befehl mysqldump schon einmal gemacht)
...diese Datei soll einen Zeitstempel bekommen
...und soll anschließen auf ein anderes System, in unserem Fall ein Windows-Backup-Server, übertragen werden (haben wir händisch schon einmal mit dem Befehl smbclient versucht)
...alle Backup-Dateien, die älter als 3 Tage sind, sollen automatisch aus dem Ordner gelöscht werden
Nun ist die Frage wie ich das realisieren kann? Mit einem Skript und dann über Cronjob? Hier bräuchte ich dann aber eure Hilfe, bin da wirklich ein absoluter Anfänger.
Ich freue mich auf eure Unterstützung.
Vielen Dank im Voraus.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 5910575588
Url: https://administrator.de/contentid/5910575588
Ausgedruckt am: 19.11.2024 um 13:11 Uhr
19 Kommentare
Neuester Kommentar
Hallo,
das lässt sich alles sehr einfach mit automysqlbackup bewerkstelligen.
https://www.rosehosting.com/blog/how-to-install-and-configure-automysqlb ...
https://kaisenlinux.org/manpages/automysqlbackup.html
Entweder im PREBACKUP die Freigabe vom Windows Server mounten, oder im POSTBACKUP....
grüße
das lässt sich alles sehr einfach mit automysqlbackup bewerkstelligen.
https://www.rosehosting.com/blog/how-to-install-and-configure-automysqlb ...
https://kaisenlinux.org/manpages/automysqlbackup.html
Entweder im PREBACKUP die Freigabe vom Windows Server mounten, oder im POSTBACKUP....
grüße
Hallo,
hm so wies aussieht kann man bei dem automysqlbackup package keine eigene Rotation mehr einstellen, schade
eigentlich aber rein theoretisch müsste das so herum funktionieren
Du musst in der /etc/default/automysqlbackup folgendes aktivieren:
dann diese 2 Shell scripts erstellen und mit chmod +x ausführbar machen
Zum Thema Löschung der alten Jobs könntest dir ja den cronjob der dir das automysqlbackup aufruft in ein Shell script tüten, dass dir dann die "alten" files löscht, weis zwar nicht ob das automysqlbackup damit soviel freude haben wird, aber einen Versuch ist es wert.
hm so wies aussieht kann man bei dem automysqlbackup package keine eigene Rotation mehr einstellen, schade
eigentlich aber rein theoretisch müsste das so herum funktionieren
Du musst in der /etc/default/automysqlbackup folgendes aktivieren:
PREBACKUP="/etc/mysql-backup-pre"
POSTBACKUP="/etc/mysql-backup-post"
dann diese 2 Shell scripts erstellen und mit chmod +x ausführbar machen
mysql-backup-pre:
#!/bin/sh
mount -t cifs -ousername=bla,password=bla //Windows/SHARE /mnt
mysql-baclup-post:
#!/bin/sh
# damit werden die Files der letzten 3 Tage kopiert
find /var/backups/mysql/ -mtime -3 | xargs cp -t /mnt/mysqlbackup
umount /mnt
Zum Thema Löschung der alten Jobs könntest dir ja den cronjob der dir das automysqlbackup aufruft in ein Shell script tüten, dass dir dann die "alten" files löscht, weis zwar nicht ob das automysqlbackup damit soviel freude haben wird, aber einen Versuch ist es wert.
#!/bin/sh
automysqlbackup
find /var/backups/mysql/ -mtime +3 -delete
Hallo,
ja da ist es so das bei der installation des Packages automatisch der cronjob erzeugt wird, hab ich vergessen zu erwähnen.
Du brauchst nur /etc/cron.daily/automysqlbackup die datei mal nach /root/ kopieren, dann wird sie nicht mehr ausgeführt
bzgl. Debian der fehler den du hier siehst, kommt vom mysql selbst, um etwas zu sagen ist der Logauszug leider zu kurz
ja da ist es so das bei der installation des Packages automatisch der cronjob erzeugt wird, hab ich vergessen zu erwähnen.
dpkg-query -L automysqlbackup
/.
/etc
/etc/automysqlbackup
/etc/cron.daily
/etc/cron.daily/automysqlbackup
/etc/default
/etc/default/automysqlbackup
/usr
/usr/sbin
/usr/sbin/automysqlbackup
/usr/share
/usr/share/doc
/usr/share/doc/automysqlbackup
/usr/share/doc/automysqlbackup/README.Debian
/usr/share/doc/automysqlbackup/changelog.Debian.gz
/usr/share/doc/automysqlbackup/copyright
/usr/share/man
/usr/share/man/man8
/usr/share/man/man8/automysqlbackup.8.gz
/var
/var/lib
/var/lib/automysqlbackup
Du brauchst nur /etc/cron.daily/automysqlbackup die datei mal nach /root/ kopieren, dann wird sie nicht mehr ausgeführt
bzgl. Debian der fehler den du hier siehst, kommt vom mysql selbst, um etwas zu sagen ist der Logauszug leider zu kurz
Hallo,
vorsicht, bash /scriptname bedeutet nicht das die Datei ausführbar ist:
mach ein chmod +x /etc/mysql-backup-post und dann sollts jut sein
vorsicht, bash /scriptname bedeutet nicht das die Datei ausführbar ist:
root@ro02 ~ # vi bashTest
root@ro02 ~ # bash bashTest
ehlo
root@ro02 ~ # ./bashTest
-bash: ./bashTest: Permission denied
root@ro02 ~ # chmod +x bashTest
root@ro02 ~ # ./bashTest
ehlo
root@ro02 ~ #
mach ein chmod +x /etc/mysql-backup-post und dann sollts jut sein