Linux Debian Backup auf Synology NAS?

Mitglied: Wild-Wolf

Wild-Wolf (Level 1) - Jetzt verbinden

12.01.2016 um 10:22 Uhr, 2716 Aufrufe, 5 Kommentare

Hallo zusammen.

Und zwar würde ich gerne einen Debian Server auf ein NAS das via dyndns erreichbar ist sichern.
Dieses soll immer nachts passieren.

Meine Frage an dieser Stelle wäre jetzt, was ist Sinnvoller.
1) Backup auf dem Server erstellen lassen und anschließend via ssh auf das NAS zu schieben
2) NAS mounten und dort das Backup draufmachen

Da ich mich mit den Scripten nicht so gut auskenne, wäre jetzt meine Frage ob man das Script was ich gefunden habe so anpassen könnte,
Das ich auf dem NAS folgende Ordner habe: daily, weekly, monthly. Am liebsten wäre mir eine Rotatefunktion das immer nach einem Wöchentlichen Backup die täglichen geleert werden und nach dem monatlichen, die wöchentlichen.

Vielleicht kennt auch jemand eine bessere Lösung.


#!/bin/bash

LANG=en_EN

BACKUPDIR=/var/opt/backup
SCRIPTDIR=/opt/backup
BACKUPUSER=USER
BACKUPUSERPASSWD=PASSWORD
DAY=`date +"%A"`
SUNDAY=$[(`date +"%e"` - 1) / 7 + 1]
MONTH=`date +"%B"`

EMAIL="system@DOMAIN.TLD"
MYHOSTNAME=$(/bin/hostname -f)
MYDATE=$(/bin/date)
SYSTEMLOG=/var/log/backup-system.log
RET=0

function getip()
{
/sbin/ifconfig eth0 | grep "inet addr" | cut -d':' -f 2 | cut -d' ' -f 1
}

function run()
{
local RET
echo "<<< ---------------------------------------------" >> /tmp/backup.log.$$
echo "<<< $@" >> /tmp/backup.log.$$
echo "<<< ---------------------------------------------" >> /tmp/backup.log.$$
echo >> /tmp/backup.log.$$
($* 2>&1) >> /tmp/backup.log.$$
RET=$?
echo >> /tmp/backup.log.$$
echo ">>> ---------------------------------------------" >> /tmp/backup.log.$$
echo ">>> Exit status: $RET" >> /tmp/backup.log.$$
echo ">>> ---------------------------------------------" >> /tmp/backup.log.$$
echo >> /tmp/backup.log.$$
return $RET
}

function INFO_HEADER()
{
local MYIP
MYIP=$(getip)
echo "============================================="
echo " Hostname: $MYHOSTNAME"
echo " IP: $MYIP"
echo " Date: $MYDATE"
echo -n " Version: Debian "
if [ -f /etc/debian_version ]; then
cat /etc/debian_version
fi
echo "============================================="
}

INFO_HEADER >> /tmp/backup.log.$$

if test $DAY = 'Sunday'
then
DAY=$DAY-$SUNDAY
if test $SUNDAY = 1
then
DAY=$DAY-$MONTH
fi
fi

### Backup-Space mounten

mount -t nfs -o nfsvers=3,soft,intr 192.168.x.x:/volume1/servername $BACKUPDIR

### MySQL-Datenbanken sichern

DATABASES=`mysql -u$BACKUPUSER -p$BACKUPUSERPASSWD -e"show databases"`

for DATABASE in $DATABASES
do
if [ $DATABASE != "Database" ]; then
run `mysqldump -u$BACKUPUSER -p$BACKUPUSERPASSWD $DATABASE > $BACKUPDIR/mysql/$DATABASE.sql`
RET2=$?; if [ $RET2 -ne 0 ]; then RET=$RET2; fi
fi
done

run tar -cf $BACKUPDIR/mysql/mysql-$DAY.tar $BACKUPDIR/mysql/*.sql
RET2=$?; if [ $RET2 -ne 0 ]; then RET=$RET2; fi
rm $BACKUPDIR/mysql/*.sql
run 7za a -p2coT7o0S -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on -bd $BACKUPDIR/mysql/mysql-$DAY.tar.7z $BACKUPDIR/mysql/mysql-$DAY.tar
RET2=$?; if [ $RET2 -ne 0 ]; then RET=$RET2; fi
rm $BACKUPDIR/mysql/mysql-$DAY.tar

### WWW-Dateien sichern

run tar -cf $BACKUPDIR/web/www-$DAY.tar /var/www
RET2=$?; if [ $RET2 -ne 0 ]; then RET=$RET2; fi
run 7za a -p2coT7o0S -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on -bd $BACKUPDIR/web/www-$DAY.tar.7z $BACKUPDIR/web/www-$DAY.tar
RET2=$?; if [ $RET2 -ne 0 ]; then RET=$RET2; fi
rm $BACKUPDIR/web/www-$DAY.tar

### etc-Verzeichnis sichern

run tar -cf $BACKUPDIR/system/etc-$DAY.tar /etc
RET2=$?; if [ $RET2 -ne 0 ]; then RET=$RET2; fi
run 7za a -p2coT7o0S -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on -bd $BACKUPDIR/system/etc-$DAY.tar.7z $BACKUPDIR/system/etc-$DAY.tar
RET2=$?; if [ $RET2 -ne 0 ]; then RET=$RET2; fi
rm $BACKUPDIR/system/etc-$DAY.tar

### opt-Verzeichnis sichern

run tar -cf $BACKUPDIR/system/opt-$DAY.tar /opt
RET2=$?; if [ $RET2 -ne 0 ]; then RET=$RET2; fi
run 7za a -p2coT7o0S -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on -bd $BACKUPDIR/system/opt-$DAY.tar.7z $BACKUPDIR/system/opt-$DAY.tar
RET2=$?; if [ $RET2 -ne 0 ]; then RET=$RET2; fi
rm $BACKUPDIR/system/opt-$DAY.tar

### home-Verzeichnis sichern

run tar -cf $BACKUPDIR/sonstige/home-$DAY.tar /home
RET2=$?; if [ $RET2 -ne 0 ]; then RET=$RET2; fi
run 7za a -p2coT7o0S -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on -bd $BACKUPDIR/sonstige/home-$DAY.tar.7z $BACKUPDIR/sonstige/home-$DAY.tar
RET2=$?; if [ $RET2 -ne 0 ]; then RET=$RET2; fi
rm $BACKUPDIR/sonstige/home-$DAY.tar

### sonstige Daten sichern

EXCLUDE=exclude-sonstige

run tar -cf $BACKUPDIR/sonstige/sonstige-$DAY.tar -X $SCRIPTDIR/$EXCLUDE /var/lib/munin /var/mail /var/spool/mail /var/spool/cron /var/spool/postfix /var/opt /var/log/apache2
RET2=$?; if [ $RET2 -ne 0 ]; then RET=$RET2; fi
run 7za a -p2coT7o0S -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on -bd $BACKUPDIR/sonstige/sonstige-$DAY.tar.7z $BACKUPDIR/sonstige/sonstige-$DAY.tar
RET2=$?; if [ $RET2 -ne 0 ]; then RET=$RET2; fi
rm $BACKUPDIR/sonstige/sonstige-$DAY.tar

ls -lah /var/opt/backup >> /tmp/backup.log.$$

### Backup-Space unmounten

umount $BACKUPDIR

for REC in $EMAIL; do
case $RET in
0)
mail -s "Backup report [success] $MYHOSTNAME" $REC < /tmp/backup.log.$$
;;
1)
mail -s "Backup report [failure] $MYHOSTNAME" $REC < /tmp/backup.log.$$
;;
2)
mail -s "Backup report [warning] $MYHOSTNAME" $REC < /tmp/backup.log.$$
;;
*)
mail -s "Backup report [status unknown] $MYHOSTNAME" $REC < /tmp/backup.log.$$
;;

esac
done

more /tmp/backup.log.$$ >> $SYSTEMLOG
rm -f /tmp/backup.log.$$
Mitglied: aqui
12.01.2016 um 10:40 Uhr
DynDNS riecht nach Backup über das Internet ??
Ein NFS Mount wäre da kritisch, denn da gelten Laufzeiten und was noch viel wichtiger ist die Daten sind nicht verschlüsselt ! Jeder könnte also deine daten offen sehen wenn die Sicherung denn über das Internet geht.
Besser also die .tar Dateien erst lokal sichern und dann per SCP an das NAS schicken.
Bitte warten ..
Mitglied: Wild-Wolf
12.01.2016 um 10:55 Uhr
Daran habe ich auch schon gedacht.
Dann müsste ich nur schauen, wie ich am Ende der Sicherung noch sage, verschieb den Spaß via scp aufs NAS.
Bitte warten ..
Mitglied: michi1983
12.01.2016 um 10:58 Uhr
Hallo,

ich hab das so gemacht, dass mein NAS mittels rsnapshot (rsync) + SSH die Daten von meinem Ubuntu Server geholt hat. Da hast du dann genau die Ordner Struktur die du wünscht.

Gruß
Bitte warten ..
Mitglied: Wild-Wolf
12.01.2016 um 11:04 Uhr
rsnapshot schaue ich mir auch gerade an.
- Wie schauts da mit den Daten allgemein aus? Komme ich ohne Probleme an die Daten, wenn ich diese z.B. auf meiner Festplatte entpacke dran, oder sind die verschlüsselt/verpackt, wie z.B. bei BackupExec oder Agronis.
- Werden diese als tar gesichert?
Bitte warten ..
Mitglied: michi1983
LÖSUNG 12.01.2016 um 11:10 Uhr
Zitat von @Wild-Wolf:

rsnapshot schaue ich mir auch gerade an.
- Wie schauts da mit den Daten allgemein aus? Komme ich ohne Probleme an die Daten, wenn ich diese z.B. auf meiner Festplatte entpacke dran, oder sind die verschlüsselt/verpackt, wie z.B. bei BackupExec oder Agronis.
- Werden diese als tar gesichert?
Die Daten werden nicht verpackt und nicht verschlüsselt.
Aber die Verbindung selbst wird verschlüsselt.
Das heißt, die Daten liegen 1:1 auf dem NAS wie sie auch auf dem Server liegen.

Gruß
Bitte warten ..
Heiß diskutierte Inhalte
Festplatten, SSD, Raid
Festplatte aus defekten Notebook ausgebaut - wird nicht erkannt - Wie gelange ich an meine Daten?
gelöst 1nCoreVor 1 TagFrageFestplatten, SSD, Raid15 Kommentare

Hallo liebe Community, nach 7 Jahren hat mein XMG Notebook seinen Geist aufgegeben In dem Notebook waren zwei Festplatten verbaut (eine für System und ...

Erkennung und -Abwehr
Wie geschickt sich Malware verstecken kann - Ein Beispiel aus der Praxis eines Security Experts
colinardoVor 22 StundenTippErkennung und -Abwehr5 Kommentare

Servus Kollegen und Mitstreiter, da ja in letzter Zeit die Exchange-Lücken die Admin-Landschaft ziemlich aufgewirbelt haben und dabei auch immer mal wieder "sogenannte" Admins ...

Internet
Woher holt sich Android die Kontaktdaten von unbekannten Rufnummern?
gelöst anteNopeVor 1 TagFrageInternet8 Kommentare

Hallo zusammen, seit einiger Zeit merke ich, dass mir mein Android Gerät Namen und Informationen zu mir unbekannten Teilnehmern präsentiert. Soll heißen eine nicht ...

Windows Netzwerk
MS Lizenzierung - externe Scandienstleistung
monstermaniaVor 1 TagFrageWindows Netzwerk9 Kommentare

Hallo Allerseits, ich habe da mal eine Frage an die MS Lizenzspeziallisten. Eine externe Firma soll Scandienstleistungen für uns erledigen. Dazu ist angedacht, dass ...

Exchange Server
Exchange Update CU19 auf CU20 Fehler - Eine weitere Version dieses Produkts ist bereits installiert
gelöst StefanKittelVor 1 TagFrageExchange Server6 Kommentare

Hallo, ich habe hier einen Exchange 2016 mit CU19 (15.1.2176.2). Darauf wollte ich nun CU20 installiert. Download Es erscheint Eine weitere Version dieses Produkts ...

Windows Server
Hat Microsoft die WindowsServerSicherung oder diskpart zerpatcht?
anteNopeVor 17 StundenFrageWindows Server3 Kommentare

Hallo, kann es eventuell sein, dass Microsoft mit seinen letzten Updates die WindowsServerSicherung bzw. diskpart zerschossen hat? Es häufen sich bei mir seit gestern ...

Windows 10
Windows 10 Updates im Abgesicherten Modus nicht möglich!
gelöst Yuuto.LucasVor 1 TagFrageWindows 1016 Kommentare

Hallo, ich habe aktuell ein Problem bei einem Kunden Rechner. Bei diesem gibt es Probleme mit dem Soundkarten Treiber hdaudio.inf wegen dem der PC ...

Windows 10
Lokales Profil wird beim Herunterfahren gelöscht!
Yuuto.LucasVor 1 TagFrageWindows 1011 Kommentare

Hallo, ich habe aktuell folgendes Problem. An einem Kundenrechner ist aktuell ein Lokales Profil eingerichtet (vorher ein Server Profil bei dem das gleiche Problem ...