MySQL Backup - finde den Pfad nicht :-(

Status
Für weitere Antworten geschlossen.

derilzemer

Benutzer
Mitglied seit
16. Apr 2009
Beiträge
69
Punkte für Reaktionen
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
 

Trolli

Benutzer
Mitglied seit
12. Jul 2007
Beiträge
9.848
Punkte für Reaktionen
1
Punkte
0
Versuch es mal mit /var/services/mysql
 

derilzemer

Benutzer
Mitglied seit
16. Apr 2009
Beiträge
69
Punkte für Reaktionen
0
Punkte
0
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
 

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.341
Punkte für Reaktionen
14
Punkte
84
entferne mal die Leerstelle zwischen SQLDumps/ und ${DB_NAME}
Rich (BBCode):
.../volume2/backup/SQLDumps/ ${DB_NAME}"_"${DATE}".dump.gz"
                            ^
 

derilzemer

Benutzer
Mitglied seit
16. Apr 2009
Beiträge
69
Punkte für Reaktionen
0
Punkte
0
so einfach :-(.....

Hi,

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

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