Hallo Gemeinde,
da mir die Backupfunktionen meines 409 Pro nicht ausreichen, bin ich dabei ein script zu schreiben, welches ein Backup anlegt unter folgenden Bedingungen:
1. jede Woche ein volles Backup
2. täglich ein inkrementelles Backup
3. Vorhaltezeit 4 Wochen
Zum Einsatz kommt 'tar' der alte Saurier unter Linux. Ein sehrgut dokumentiertes und flexibeles Programm.
Im Moment läuft es seit 2 Tagen bei mir. Sollte Interesse eurerseits bestehen, werde ich das script hier gerne einstellen, nur würde ich gerne warten bis es einen Monat durchgelaufen ist.
Es interssiert mich natürlich, ob Bedarf besteht und würde mich über Eure Antworten freuen.
Grüße Lutz
Backup mit tar
- frosch2
- Erledigt
-
-
Hallo,
hast du das in etwa so gemacht, wie in der folgenden Anleitung beschrieben?:
http://www.tecchannel.de/stora…windows_script_sicherung/Bist du auf irgendwelche Probleme gestoßen, die sich auf die spezielle QNAP Software zurückführen lassen?
Ich überlege mir nämlich einen TS-409 anzuschaffen. Wollte aber vorher abklären, ob auch eine vernüftige automatische Sicherung der Dateien auf dem NAS möglich ist.
mfg icer255
-
Hallöle,
ich denke schon das hier ausreichend Bedarf für ein solches Script besteht und wir alle sind dankbar, wenn wir funktionierende Lösungen nutzen können!
Grüße
JodyPS.: Ich wäre natürlich auch interessiert :thumb:
-
Ich hatte schon vor einem Jahr mein Backup-Script mittels Tar hier im Forum zur Verfügung gestellt:
Backup-Scripts
Es erstellt ein tägliches, wöchenliches und monatlisches Backup und versendet eine Liste der gesicherten Dateien als E-Mail.
Evtl. ist es eine Anregung für eure Lösungen.Schöne Grüße,
Stefan -
Hallo,
hier das Script. Ich habe es noch mal überarbeitet. Anregungen und Kritik sind herzlich wilkommen.
Code
Alles anzeigen# Script fuer inkrementelles Backup mit 7 taegigem Vollbackup ### Einstellungen ## BACKUPDIR="/share/USBDisk1/BackupTAR/deb1-2/" # Pfad zum Backupverzeichnis TIMESTAMP=${BACKUPDIR}timestamp.dat # Zeitstempel SOURCE="/share/MD0_DATA/" # Verzeichnis welches gesichert werden soll, mehrere Angaben durch Leerzeichen trennen DATUM="$(date +%Y-%m-%d)" # Datumsformat einstellen ZEIT="$(date +%HUhr%M)" # Zeitformat einstellen TAGWOCHE="$(date +%a)" # Wochentag z.B. Mon TAGDESMONAT="$(date +%d)" # Tag des Monats z.B. 27 TAGMONAT="$(date +%d%b)" # Tag und Monat z.B. 27Sept FULLBACKUPDAY="Sat" # Wochentag an dem ein volles Backup gemacht wird DELPATH="/share/USBDisk1/BackupTAR/deb1-2/" # Pfad in dem alte Backups gesucht und gelöscht werden gelöscht werden DELLOG=${DELPATH}del.log # Logdatei für die zu loeschenden Backups DELFILES="*.tar" # Welche Dateitypen sollen gelöscht werden DELAGE="+28" # Alter der Dateien, die geloescht werden (hier 28 Tage) MARKFULL="full" # Kennz. Vollbackup MARKINC="inc" # Kennz. Inkrementalbackup BACKUPLOG=${BACKUPDIR}backup.log # Logdatei des letzten Backups ### Verzeichnisse/Dateien welche nicht gesichert werden sollen ! Achtung keinen Zeilenumbruch ! ## EXCLUDE="--exclude=/sahre/MD0_DATA/USBDisk1 --exclude=/share/MD0_DATA/Network?Recycle?Bin?1 --exclude=/share/MD0_DATA/optware" ### Wechsel in / ## cd / ### Backupverzeichnis anlegen. Wenn es bereits existiert, gehts ohne Fehlermeldung weiter ## mkdir -p ${BACKUPDIR} ### Test ob Backupverzeichnis existiert, wenn nicht wird das Programm verlassen ## if [ ! -d "${BACKUPDIR}" ]; then . exit 1 fi ### durch loeschen der timestamp.dat, wird ein volles Backup angelegt ## if [ $FULLBACKUPDAY = $TAGWOCHE ]; then rm -f ${TIMESTAMP} fi ### Nun wird das eigentliche Backup ausgefuehrt, entweder voll oder inkremantal ## if [ $FULLBACKUPDAY = $TAGWOCHE ]; then tar -cvf ${BACKUPDIR}/${DATUM}_${TAGWOCHE}_${ZEIT}.${MARKFULL}.tar -g ${TIMESTAMP} ${SOURCE} ${EXCLUDE} >${BACKUPLOG} else tar -cvf ${BACKUPDIR}/${DATUM}_${TAGWOCHE}_${ZEIT}.${MARKINC}.tar -g ${TIMESTAMP} ${SOURCE} ${EXCLUDE} >{BACKUPLOG} fi ### alte Backups loeschen ## if [ ${FULLBACKUPDAY} = ${TAGWOCHE} ]; then find ${DELPATH} -name $DELFILES -mtime $DELAGE >${DELLOG} for i in `grep ^[^#] ${DELLOG}`; do rm $i; done rm -f ${DELLOG} fi
-
Hallo,
habe noch einige Sachen ändern müssen. Hier die vorerst letzte Version.
Code
Alles anzeigen# Script fuer inkrementelles Backup mit 7 taegigem Vollbackup ### Einstellungen ## BACKUPDIR="/share/USBDisk1/BackupTAR/deb1-2/" # Pfad zum Backupverzeichnis TIMESTAMP="/share/USBDisk1/BackupTAR/deb1-2/timestamp.dat" # Zeitstempel SOURCE="/share/MD0_DATA/Public/" # Verzeichnis welches gesichert werden soll, mehrere Angaben durch Leerzeichen trennen DATUM="$(date +%Y-%m-%d)" # Datumsformat einstellen ZEIT="$(date +%HUhr%M)" # Zeitformat einstellen TAGWOCHE="$(date +%a)" # Wochentag z.B. Mon TAGDESMONAT="$(date +%d)" # Tag des Monats z.B. 27 TAGMONAT="$(date +%d%b)" # Tag und Monat z.B. 27Sept FULLBACKUPDAY="Sat" # Wochentag an dem ein volles Backup gemacht wird DELPATH="/share/USBDisk1/BackupTAR/deb1-2/" # Pfad in dem alte Backups gesucht und gelöscht werden gelöscht werden DELLOG=${DELPATH}del.log # Logdatei für die zu loeschenden Backups DELFILES="*.tar" # Welche Dateitypen sollen gelöscht werden DELAGE="+28" # Alter der Dateien, die geloescht werden (hier 28 Tage) MARKFULL="full" # Kennz. Vollbackup MARKINC="inc" # Kennz. Inkrementalbackup BACKUPLOG=${BACKUPDIR}backup.log # Logdatei des letzten Backups ### Verzeichnisse/Dateien welche nicht gesichert werden sollen ! Achtung keinen Zeilenumbruch ! ## EXCLUDE="--exclude=/sahre/MD0_DATA/USBDisk1 --exclude=/share/MD0_DATA/Network?Recycle?Bin?1 --exclude=/share/MD0_DATA/optware" ### Backupverzeichnis anlegen. Wenn es bereits existiert, gehts ohne Fehlermeldung weiter ## mkdir -p ${BACKUPDIR} ### Test ob Backupverzeichnis existiert, wenn nicht wird das Programm verlassen ## if [ ! -d "${BACKUPDIR}" ]; then . exit 1 fi ### durch loeschen der timestamp.dat, wird ein volles Backup angelegt ## if [ ${FULLBACKUPDAY} = ${TAGWOCHE} ]; then rm -f ${TIMESTAMP} fi ### Wechsel in das Arbeitsverzeichnis ## cd $BACKUPDIR ### Nun wird das eigentliche Backup ausgefuehrt, entweder voll oder inkremantal ## if [ $FULLBACKUPDAY = $TAGWOCHE ]; then tar -cvf ${BACKUPDIR}/${DATUM}_${TAGWOCHE}_${ZEIT}_${MARKFULL}.tar -g $TIMESTAMP ${SOURCE} ${EXCLUDE} >${BACKUPLOG} else tar -cvf ${BACKUPDIR}/${DATUM}_${TAGWOCHE}_${ZEIT}_${MARKINC}.tar -g $TIMESTAMP ${SOURCE} ${EXCLUDE} >${BACKUPLOG} fi ### alte Backups loeschen ## if [ ${FULLBACKUPDAY} = ${TAGWOCHE} ]; then cd / find ${DELPATH} -name $DELFILES -mtime $DELAGE >${DELLOG} for i in `grep ^[^#] ${DELLOG}`; do rm $i; done # rm -f ${DELLOG} fi