MySQL Backup - finde den Pfad nicht :-(

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

derilzemer

Benutzer
Registriert
16. Apr. 2009
Beiträge
69
Reaktionspunkte
0
Punkte
0
Hallo zusammen,

ich habe derzeit ein Script auf meiner Syno 508 laufen, welche alle Datenbanken sichert. Dazu verwende ich ein für meine Zwecke leicht abgeändertes Script, welches im Forum mal gepostet war. Allerdings hatte ich dann den Wunsch, die Datenbanken einzeln zu sichern, da ich bei einer Rücksicherung nicht immer alle Datenbanken zurücksichern möchte.
Script derzeit:
#!/bin/bash
#
# dieses Skript kann man beliebig oft ausführen
#
# Anzahl der Sicherungen die aufgehoben werden sollen
KEEP=3
BACKUPS=`find /volume2/backup/SQLDumps -name "mysqldump-*.gz" | wc -l | sed 's/\ //g'`
while [ $BACKUPS -ge $KEEP ]
do
ls -tr1 /volume2/backup/SQLDumps/mysqldump-*.gz | head -n 1 | xargs rm -f
BACKUPS=`expr $BACKUPS - 1`
done
DATE=`date +%Y%m%d`
rm -f /volume2/backup/SQLDumps/.mysqldump-${DATE}.gz_INPROGRESS
/usr/syno/mysql/bin/mysqldump --opt -uuser -psicherlich --all-databases | gzip -c -9 > /volume2/backup/SQLDumps/.mysqldump-${DATE}.gz_INPROGRESS
mv -f /volume2/backup/SQLDumps/.mysqldump-${DATE}.gz_INPROGRESS /volume2/backup/SQLDumps/mysqldump-${DATE}.gz

Jetzt hat mir ein Arbeitskollege einen Scriptteil von sich gegeben, allerdings nicht mehr. Er arbeitet mit Variablen. Da ich nicht der Scriptcrack bin, wollte ich euch fragen wie ich das umsetzen kann. Hier das Script des Kollegen, allerdings auf seine Linuxpfade abgestimmt, also keine Synology.
# Alle Datenbanken sichern
DATE=`/bin/date "+%Y-%m-%d"`
for i in /var/lib/mysql/*/; do
DB_NAME=`/usr/bin/basename "${i}"`
/usr/bin/mysqldump -u root --password="PASSWORT" "${DB_NAME}" | /bin/gzip > "my_"${DB_NAME}"_"${DATE}".dump.gz"
done

Ich habe versucht diese kleine Script erst einmal alleine laufen zu lassen mit den Pfaden der Syyno, allerdings scheiterte es immer an der Zeile
for i in /var/lib/mysql/*/; do
Wenn ich es richtig verstanden habe, dann liest er in der zeile die DB Namen aus, und verwendet diese dann für den Filenamen. Ich hatte diesen Pfad in der Syno nicht gefunden :(
Gibt es hier jemanden, der mir darin behilflich sein kann? Vielen Dank vorab für Tips und Hilfestellungen.

mfG
Andreas
 
Versuch es mal mit /var/services/mysql
 
Hi,
Versuch es mal mit /var/services/mysql
danke das klappt jetzt schon mal. Er legt jetzt die einzelnen dumps mit Namen da ab, wo das Script liegt.
#!/bin/bash
#
# dieses Skript kann man beliebig oft ausführen
#
DATE=`/bin/date "+%Y-%m-%d"`
for i in /var/services/mysql/*/; do
DB_NAME=`/usr/bin/basename "${i}"`
/usr/syno/mysql/bin/mysqldump -u root -psicherlich "${DB_NAME}" | /bin/gzip > ${DB_NAME}"_"${DATE}".dump.gz"
done

Jetzt wollte ich das ganze in einen bestimmte Folder sichern und dachte es muss dann in etwa so aussehen.
#!/bin/bash
#
# dieses Skript kann man beliebig oft ausführen
#
DATE=`/bin/date "+%Y-%m-%d"`
for i in /var/services/mysql/*/; do
DB_NAME=`/usr/bin/basename "${i}"`
/usr/syno/mysql/bin/mysqldump -u root -psicherlich "${DB_NAME}" | /bin/gzip > /volume2/backup/SQLDumps/ ${DB_NAME}"_"${DATE}".dump.gz"
done

Die Folder im angegeben Pfad existiert schon und hat Rechte 777.
Aber dann bekomme ich folgende Fehlermeldung:
mysqlbackup.sh: mysqlbackup.sh: 9: cannot create /volume2/backup/SQLDumps/: Is a directory
mysqldump: Got errno 32 on write

Was mache ich falsch??

Gruß Andreas
 
entferne mal die Leerstelle zwischen SQLDumps/ und ${DB_NAME}
Rich (BBCode):
.../volume2/backup/SQLDumps/ ${DB_NAME}"_"${DATE}".dump.gz"
                            ^
 
so einfach :-(.....

Hi,

merci. Tja was soll ich sagen außer danke :o

Gruß Andreas
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat