Etwas verspätet - und daher wohl außer Konkurrenz.
Ich wollte aber auch noch etwas zu meiner Datenhaltung für den Thread schreiben:
https://ngb.to/threads/61550-Backup-Der-Gewinnspielthread
Ich habe im Grunde 2 Systeme zu sichern:
1. Daten im "privaten" Umfeld:
Handys, Laptop, Digitalkamera, Actioncam, Drohne usw.
2. Daten des "Familien"-Servers:
Konfiguration, Mails, Cloud, Passwortsafe usw.
Zu 1.:
Daten liegen auf einem Synology-NAS im RAID-1 bei mir in der Wohnung.
Handys > Photos / Filme werden mit NAS zu Hause synchronisiert. Backups der Programme über Google-Backup. Weitere Daten liegen dort im Printip nicht.
Laptops > Daten werden über Synology "Drive" inkl. Versionierung der Änderungen (letzte 10 Versionen) auf das NAS Syncronisiert.
Digitalcamera > Der Import der RAW-Bilder erfolgt über ein eigenes kleines Powershell-Script das die Bilder in eine Ordner-Struktur nach Jahr / Monat / Thema kopiert und sich direkt um ein Backup auf das NAS kümmert. Meta-Informationen über Bildveränderungen der RAW-Dateien werden mit über "Drive" gesichert; fertige Bilder werden manuell nach Fertigstellung auf das NAS gelegt und können dort dann über die Photos-App abgerufen werden. Im laufe des Jahres kommt dann noch eine automatische Personen-Identifizierung dazu
Alle neuen / geänderten Dateien des NAS werden jede Nacht automatisch einzeln verschlüsselt und auf Google-Drive gesichert als Fern-Backup da die Daten nur So gegen Schäden, Brände, Blitz und vieles Mehr Sicherheit besteht. Daten auf Google-Drive werden nicht automatisch gelöscht insofern diese auf dem NAS gelöscht werden.
Durch Synology-Backup verschlüsselte Dateien können auch ohne das NAS mit einem (so viel ich weiß OpenSource, bin mir gerade nicht ganz sicher) öffentlich zugänglichen Tool jederzeit auch unterwegs entschlüsselt werden - einzig das Passwort ist notwenig > keine Abhängigkeit zur Firma / dem NAS.
Zu 2.:
Auf dem Server läuft täglich Nachts ein kleines Bash-Backup-Script.
Datenbanken werden exportiert und komprimiert.
Konfigurations-Dateien, Zertifikate etc. werden ebenfalls in ein Archiv geschoben (alles unkomprimiert).
Das gleiche mit den Mail-Ordnern und Webserver-Ordnern.
Die Daten vorher in ein Tar zu schieben sorgt zum einen dafür bei der späteren Verschlüsselung keine Dateinamen mehr zu haben und zum anderen geht das allgemein bei mir schneller in 2 Schritten als das direkte komprimieren in 7zip.
Von der ganzen Aktion werden die 5 letzten Versionen aufgehoben.
Die Archive werden mit 7zip komprimiert und verschlüsselt und ebenfalls auf Google-Drive abgelegt welches am Server gemountet ist.
Der App-Token über den der Zugriff auf Google-Drive hat - hat dabei ausschließlich Zugriff auf die eigenen Backups und nicht auf die restlichen Daten auf dem Cloudspeicher.
Die gelöschten älteren Versionen als die 5 gewünschten landen in einem Papierkorb - bei dem ich mir aktuell noch nicht ganz sicher bin was passiert wenn dieser Voll ist... - Dadurch habe ich jedenfalls noch wesentlich mehr Versionen aller Daten.
Script für das Backup:
Ich schreibe so gut wie nie Bash-Scripte ... mag also nicht ganz so schön sein. Wenn jemand Verbesserungsvorschläge hat - gerne
Ich wollte aber auch noch etwas zu meiner Datenhaltung für den Thread schreiben:
https://ngb.to/threads/61550-Backup-Der-Gewinnspielthread
Ich habe im Grunde 2 Systeme zu sichern:
1. Daten im "privaten" Umfeld:
Handys, Laptop, Digitalkamera, Actioncam, Drohne usw.
2. Daten des "Familien"-Servers:
Konfiguration, Mails, Cloud, Passwortsafe usw.
Zu 1.:
Daten liegen auf einem Synology-NAS im RAID-1 bei mir in der Wohnung.
Handys > Photos / Filme werden mit NAS zu Hause synchronisiert. Backups der Programme über Google-Backup. Weitere Daten liegen dort im Printip nicht.
Laptops > Daten werden über Synology "Drive" inkl. Versionierung der Änderungen (letzte 10 Versionen) auf das NAS Syncronisiert.
Digitalcamera > Der Import der RAW-Bilder erfolgt über ein eigenes kleines Powershell-Script das die Bilder in eine Ordner-Struktur nach Jahr / Monat / Thema kopiert und sich direkt um ein Backup auf das NAS kümmert. Meta-Informationen über Bildveränderungen der RAW-Dateien werden mit über "Drive" gesichert; fertige Bilder werden manuell nach Fertigstellung auf das NAS gelegt und können dort dann über die Photos-App abgerufen werden. Im laufe des Jahres kommt dann noch eine automatische Personen-Identifizierung dazu
Alle neuen / geänderten Dateien des NAS werden jede Nacht automatisch einzeln verschlüsselt und auf Google-Drive gesichert als Fern-Backup da die Daten nur So gegen Schäden, Brände, Blitz und vieles Mehr Sicherheit besteht. Daten auf Google-Drive werden nicht automatisch gelöscht insofern diese auf dem NAS gelöscht werden.
Durch Synology-Backup verschlüsselte Dateien können auch ohne das NAS mit einem (so viel ich weiß OpenSource, bin mir gerade nicht ganz sicher) öffentlich zugänglichen Tool jederzeit auch unterwegs entschlüsselt werden - einzig das Passwort ist notwenig > keine Abhängigkeit zur Firma / dem NAS.
Zu 2.:
Auf dem Server läuft täglich Nachts ein kleines Bash-Backup-Script.
Datenbanken werden exportiert und komprimiert.
Konfigurations-Dateien, Zertifikate etc. werden ebenfalls in ein Archiv geschoben (alles unkomprimiert).
Das gleiche mit den Mail-Ordnern und Webserver-Ordnern.
Die Daten vorher in ein Tar zu schieben sorgt zum einen dafür bei der späteren Verschlüsselung keine Dateinamen mehr zu haben und zum anderen geht das allgemein bei mir schneller in 2 Schritten als das direkte komprimieren in 7zip.
Von der ganzen Aktion werden die 5 letzten Versionen aufgehoben.
Die Archive werden mit 7zip komprimiert und verschlüsselt und ebenfalls auf Google-Drive abgelegt welches am Server gemountet ist.
Der App-Token über den der Zugriff auf Google-Drive hat - hat dabei ausschließlich Zugriff auf die eigenen Backups und nicht auf die restlichen Daten auf dem Cloudspeicher.
Die gelöschten älteren Versionen als die 5 gewünschten landen in einem Papierkorb - bei dem ich mir aktuell noch nicht ganz sicher bin was passiert wenn dieser Voll ist... - Dadurch habe ich jedenfalls noch wesentlich mehr Versionen aller Daten.
Script für das Backup:
Ich schreibe so gut wie nie Bash-Scripte ... mag also nicht ganz so schön sein. Wenn jemand Verbesserungsvorschläge hat - gerne
[src=bash]#!/bin/bash
#Scriptconfig
export ENC_PW="Hallo123"
export BASE_PATH="/home/GoogleDrive/"
export TEMP="/home/backup"
BackupList=etc:home/mail:home/admin:home/www:home/bitwarden
#DB-Backup-Config
export DB_USER="blub"
export DB_PASSWD="blub1"
#Rotate
echo ""
echo "rotate all Backups"
rm -rf $BASE_PATH/04
mv $BASE_PATH/03 $BASE_PATH/04
mv $BASE_PATH/02 $BASE_PATH/03
mv $BASE_PATH/01 $BASE_PATH/02
mkdir $BASE_PATH/01
echo "All BackupDirs swiched"
echo "--------------------------"
#DB Backup
echo ""
echo "Create Mysql Database Dumps"
mysqldump --user=$DB_USER --password=$DB_PASSWD --all-databases | bzip2 > $TEMP/mysql-`date +%Y-%m-%d`.bz2
7z a -p$ENC_PW -mx=5 -mhe -t7z $TEMP/mysql-`date +%Y-%m-%d`.7z $TEMP/mysql-`date +%Y-%m-%d`.bz2
echo "Dumps Created"
echo "--------------------------"
#Create Tar of all Backup-Pathes at TempDir
echo ""
echo "Creating .Tar Containers of all Backup-Directorys"
for path in ${BackupList//:/ }; do
echo -n "$path"
name=$(echo $path | sed -e 's/\//-/g')
tar -cf $TEMP/$name-`date +%Y-%m-%d`.tar -C / $path
echo " [x]"
done
echo "Tar Done"
echo "--------------------------"
#Encrypt and minimize all .tar Containers
echo ""
echo "Creating Encrypted an zipped Version of Tar"
for path in ${BackupList//:/ }; do
echo -n "$path"
name=$(echo $path | sed -e 's/\//-/g')
7z a -p$ENC_PW -mx=5 -mhe -t7z $TEMP/$name-`date +%Y-%m-%d`.7z $TEMP/$name-`date +%Y-%m-%d`.tar
echo " [x]"
done
echo "7zip Done"
echo "--------------------------"
#Copy all Encrypted .7z Files to Cloud
echo ""
echo "Copy Encrypted .7z to Cloud"
for path in ${BackupList//:/ }; do
echo -n "$path"
cp $TEMP/*.7z $BASE_PATH/01/
echo " [x]"
done
echo "Copy Done"
echo "--------------------------"
#Remove all Temp-Files from alst Backup
echo ""
echo -n "Cleaning up"
rm -f $TEMP/*.*
echo " Done"
echo ""
echo ""
echo ""
echo "Backup Done"
exit 0 [/src]
#Scriptconfig
export ENC_PW="Hallo123"
export BASE_PATH="/home/GoogleDrive/"
export TEMP="/home/backup"
BackupList=etc:home/mail:home/admin:home/www:home/bitwarden
#DB-Backup-Config
export DB_USER="blub"
export DB_PASSWD="blub1"
#Rotate
echo ""
echo "rotate all Backups"
rm -rf $BASE_PATH/04
mv $BASE_PATH/03 $BASE_PATH/04
mv $BASE_PATH/02 $BASE_PATH/03
mv $BASE_PATH/01 $BASE_PATH/02
mkdir $BASE_PATH/01
echo "All BackupDirs swiched"
echo "--------------------------"
#DB Backup
echo ""
echo "Create Mysql Database Dumps"
mysqldump --user=$DB_USER --password=$DB_PASSWD --all-databases | bzip2 > $TEMP/mysql-`date +%Y-%m-%d`.bz2
7z a -p$ENC_PW -mx=5 -mhe -t7z $TEMP/mysql-`date +%Y-%m-%d`.7z $TEMP/mysql-`date +%Y-%m-%d`.bz2
echo "Dumps Created"
echo "--------------------------"
#Create Tar of all Backup-Pathes at TempDir
echo ""
echo "Creating .Tar Containers of all Backup-Directorys"
for path in ${BackupList//:/ }; do
echo -n "$path"
name=$(echo $path | sed -e 's/\//-/g')
tar -cf $TEMP/$name-`date +%Y-%m-%d`.tar -C / $path
echo " [x]"
done
echo "Tar Done"
echo "--------------------------"
#Encrypt and minimize all .tar Containers
echo ""
echo "Creating Encrypted an zipped Version of Tar"
for path in ${BackupList//:/ }; do
echo -n "$path"
name=$(echo $path | sed -e 's/\//-/g')
7z a -p$ENC_PW -mx=5 -mhe -t7z $TEMP/$name-`date +%Y-%m-%d`.7z $TEMP/$name-`date +%Y-%m-%d`.tar
echo " [x]"
done
echo "7zip Done"
echo "--------------------------"
#Copy all Encrypted .7z Files to Cloud
echo ""
echo "Copy Encrypted .7z to Cloud"
for path in ${BackupList//:/ }; do
echo -n "$path"
cp $TEMP/*.7z $BASE_PATH/01/
echo " [x]"
done
echo "Copy Done"
echo "--------------------------"
#Remove all Temp-Files from alst Backup
echo ""
echo -n "Cleaning up"
rm -f $TEMP/*.*
echo " Done"
echo ""
echo ""
echo ""
echo "Backup Done"
exit 0 [/src]