- 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![Frown :( :(](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Gibt es hier jemanden, der mir darin behilflich sein kann? Vielen Dank vorab für Tips und Hilfestellungen.
mfG
Andreas
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