rsm2008
Goto Top

Plesk Datenbank per SSH Exportieren

Hallo liebe Freunde von bits und bytes,

ich habe folgende Frage und ich würde mich sehr freuen, wenn einer von euch Spezialisten eine Lösung hierfür hat.

Ich hoste auf einem Ubuntu 20.04.06 Server, mit der Konsole Plesk mehrere Webseiten.

Gehe ich per Plesk zum Abonnement - Datenbanken, gibt es dort den Punkt "Abbild exportieren" Siehe Bild.
Wenn ich diesen Befehl ausführe, wird innerhalb wenigen Sekunden die komplette Datenbank als Zip für die Webseite gespeichert und im Root (oberhalb von httpdocs) der Webseite gespeichert. Die Rücksicherung erfolgt auch dort, mit "Abbild importieren".

Ich habe damit noch nie Probleme gehabt. Updraftplus und weitere Plugins in der PRO Version getestet, immer wieder gab es Probleme.

Nun zu meiner eigentlichen Frage!
Der Befehl in Plesk ist nur Manuel ausführbar, dadurch kann ich keinen Cronjob erstellen, um die DB alle zwei Stunden zu sichern.

Kennt jemand von euch BITTE, einen SSH Befehl, der das gleiche macht, wie Plesk? Wenn ja, bitte auch den Import Befehl auch ausführen.

Herzlichen Dank für euere Hilfe
plesk-12-04-2023_12-46-43

Content-Key: 6741141787

Url: https://administrator.de/contentid/6741141787

Printed on: May 2, 2024 at 07:05 o'clock

Member: tagol01
tagol01 Apr 12, 2023 at 11:19:35 (UTC)
Goto Top
Hallo

der Befehl mysqldump ist dein Freund oder Plesk DB Backup
Member: rsm2008
rsm2008 Apr 12, 2023 at 11:54:08 (UTC)
Goto Top
Hallo tagol01,

herzlichen Dank für deine schnelle Antwort.
Das ist genau, was ich suchte. Ich habe da noch eine Frage bitte.

Also mein Befehl sieht jetzt so aus und funktioniert:

plesk db dump TESTDATENBANK > /var/www/vhosts/webseite.de/Datenbank-Backups/webseite.de.sql

Wie müsste der Befehl sein, der die DB zippt und mit dem aktuellen System-Datum erstellt.

Beispiel: webseite_2023-04-06_08-57-26.sql.zip

Wirklich ganz großes Dankeschön, für deine Hilfe.
Member: tagol01
tagol01 Apr 12, 2023 at 12:05:18 (UTC)
Goto Top
z.B:

tar -zcvf "$(date '+%Y-%m-%d').tar.gz" /var/www/vhosts/webseite.de/Datenbank-Backups/webseite.de.sql
Member: rsm2008
rsm2008 Apr 12, 2023 at 12:27:26 (UTC)
Goto Top
Wenn ich das so Eingebe:
plesk db dump TESTDATENBANK > tar -zcvf "$(date '+%Y-%m-%d').tar.gz" /var/www/vhosts/webseite.de/Datenbank-Backups/webseite.de.sql

Bekomme ich den Fehler:
mysqldunp: unknow option `-z`
exit status 2

Was mache ich falsch? Danke für deine Geduld
Member: SlainteMhath
SlainteMhath Apr 12, 2023 at 12:55:31 (UTC)
Goto Top
Moin,

das sind 2 Befehle, die auf 2 einzelne Zeilen gehören.

plesk db dump TESTDATENBANK > ...
tar -zcvf ....

lg,
Slainte
Member: tagol01
tagol01 Apr 12, 2023 at 12:57:21 (UTC)
Goto Top
Arbeite entweder mit mehren Zeilen oder mit Pipes und Umleitungen
Member: rsm2008
rsm2008 Apr 12, 2023 at 13:45:33 (UTC)
Goto Top
Vielen vielen Dank für eure Hilfe!
Ich hätte erwähnen sollen, dass ich kein Linux Kenner bin.

ZB: Wie kann ich per SSH zwei Zeilen eingeben?

@SlainteMhath
Meinst du das so:
plesk db dump TESTDATENBANK >
tar -zcvf "$(date '+%Y-%m-%d').tar.gz" /var/www/vhosts/webseite.de/Datenbank-Backups/webseite.de.sql

Mit den abgekürzten Befehlen komme ich nicht weiter.

Oder gibt es die Möglichkeit, dass als PHP Script zu erstellen und dann mit einem Cronjob laufen zu lassen?

Ich bin nicht faul zu lernen, ich habe schon vieles versucht und gelesen, bis ich mich entschloss meine Frage hier zu stellen. Ich bin nur leider immer gescheitert.
Member: SlainteMhath
SlainteMhath Apr 12, 2023 at 13:51:36 (UTC)
Goto Top
@SlainteMhath
Meinst du das so:
Nein, so
plesk db dump TESTDATENBANK > /var/www/vhosts/webseite.de/Datenbank-Backups/webseite.de.sql
tar -zcvf "$(date '+%Y-%m-%d').tar.gz" /var/www/vhosts/webseite.de/Datenbank-Backups/webseite.de.sql  


Ich hätte erwähnen sollen, dass ich kein Linux Kenner bin.
Achso? face-smile Das fiel bisher gar nicht auf /s
Member: rsm2008
rsm2008 Apr 12, 2023 at 14:10:09 (UTC)
Goto Top
Gebe ich das einzeln in die Konsole ein?

plesk db dump TESTDATENBANK > /var/www/vhosts/webseite.de/Datenbank-Backups/webseite.de.sql
tar -zcvf "$(date '+%Y-%m-%d').tar.gz" /var/www/vhosts/webseite.de/Datenbank-Backups/webseite.de.sql

Und bleibt hinten dran, dass webseiten.de.sql stehen.
Member: tagol01
tagol01 Apr 12, 2023 at 14:16:33 (UTC)
Goto Top
Zitat von @rsm2008:

Ich hoste auf einem Ubuntu 20.04.06 Server, mit der Konsole Plesk mehrere Webseiten.

Zitat von @rsm2008:
Ich hätte erwähnen sollen, dass ich kein Linux Kenner bin.

Passt aber nicht wirklich zusammen. face-sad
OK, ist nicht mein Problem.

Zurück zu dem Problem:
Erstelle aus den 2 Zeilen ein Bash Script und startet das Script dann.

Wie erstellte ich ein Bash Script: Siehe Hier
Member: rsm2008
rsm2008 Apr 12, 2023 at 14:31:57 (UTC)
Goto Top
Ich bin voll bei dir tagol01.

Jedoch sollte auch erwähnt sein, dass Plesk wirklich riesige Fortschritte gemacht hat und das Hosting von Webseiten, kein Hexenwerk oder einen Superduper Admin bedarf.

Das mit dem Bash Script ist ein Super Ansatz, den ich jetzt verfolgen werden.

Danke für eure Geduld!
Wer eine Lösung sucht, dass hier besprochen wurde.
ChatGPT gibt folgenden Script aus, vielleicht hilf das jemanden anderem.

#!/bin/bash

# MySQL-Zugangsdaten
DB_HOST="localhost"  
DB_USER="username"  
DB_PASS="password"  
DB_NAME="database_name"  

# Verzeichnis, in das der SQL-Dump gespeichert wird
BACKUP_DIR="/path/to/backup/directory"  

# Dateiname des SQL-Dumps
DATE=$(date +%Y-%m-%d_%H-%M-%S)
FILENAME="$BACKUP_DIR/$DB_NAME_$DATE.sql"  

# SQL-Dump erstellen
mysqldump --opt --host=$DB_HOST --user=$DB_USER --password=$DB_PASS $DB_NAME > $FILENAME

# Erfolgsmeldung ausgeben

echo "SQL-Dump wurde erfolgreich erstellt: $FILENAME"  
Um das Skript zu verwenden, müssen Sie lediglich den Pfad zum Backup-Verzeichnis, die MySQL-Zugangsdaten und den Datenbanknamen anpassen. Führen Sie das Skript aus, indem Sie es in einem Terminalfenster ausführen:

bash scriptname.sh

Das Skript erstellt dann einen SQL-Dump der angegebenen Datenbank und speichert ihn im angegebenen Verzeichnis mit einem eindeutigen Datum / Zeit-Stempel im Dateinamen. Wenn der Vorgang erfolgreich abgeschlossen wurde, wird eine Erfolgsmeldung ausgegeben.
Member: Vision2015
Vision2015 Apr 12, 2023 at 17:34:48 (UTC)
Goto Top
Moin...
Zitat von @rsm2008:

Ich bin voll bei dir tagol01.

Jedoch sollte auch erwähnt sein, dass Plesk wirklich riesige Fortschritte gemacht hat und das Hosting von Webseiten, kein Hexenwerk oder einen Superduper Admin bedarf.
natürlich ist das keine Hexenwerk, meinst du nicht das es etwas an Fachwissen bedarf, alleine der Sicherheit wegen.

Das mit dem Bash Script ist ein Super Ansatz, den ich jetzt verfolgen werden.

Danke für eure Geduld!
Wer eine Lösung sucht, dass hier besprochen wurde.
ChatGPT gibt folgenden Script aus, vielleicht hilf das jemanden anderem.

#!/bin/bash

# MySQL-Zugangsdaten
DB_HOST="localhost"  
DB_USER="username"  
DB_PASS="password"  
DB_NAME="database_name"  

# Verzeichnis, in das der SQL-Dump gespeichert wird
BACKUP_DIR="/path/to/backup/directory"  

# Dateiname des SQL-Dumps
DATE=$(date +%Y-%m-%d_%H-%M-%S)
FILENAME="$BACKUP_DIR/$DB_NAME_$DATE.sql"  

# SQL-Dump erstellen
mysqldump --opt --host=$DB_HOST --user=$DB_USER --password=$DB_PASS $DB_NAME > $FILENAME

# Erfolgsmeldung ausgeben

echo "SQL-Dump wurde erfolgreich erstellt: $FILENAME"  
Um das Skript zu verwenden, müssen Sie lediglich den Pfad zum Backup-Verzeichnis, die MySQL-Zugangsdaten und den Datenbanknamen anpassen. Führen Sie das Skript aus, indem Sie es in einem Terminalfenster ausführen:

bash scriptname.sh

Das Skript erstellt dann einen SQL-Dump der angegebenen Datenbank und speichert ihn im angegebenen Verzeichnis mit einem eindeutigen Datum / Zeit-Stempel im Dateinamen. Wenn der Vorgang erfolgreich abgeschlossen wurde, wird eine Erfolgsmeldung ausgegeben.

Frank
Member: SlainteMhath
SlainteMhath Apr 13, 2023 at 07:03:54 (UTC)
Goto Top
In dem Script von ChatGPT fehlt das geforderte zippen des Backups...