mirror of
https://github.com/buanet/ioBroker.docker.git
synced 2025-12-18 10:59:00 +02:00
Update backup_iobroker_folder.sh
This commit is contained in:
@@ -1,84 +1,84 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Backupscript für ein Backup von ioBroker unter Docker auf einer Synology Disk Station (Sicherung des ioBroker-Verzeichnises).
|
# Backupscript fuer ein Backup von ioBroker unter Docker auf einer Synology Disk Station (Sicherung des ioBroker-Verzeichnises).
|
||||||
# Vorhaltezeit der letzten Backups: 90 Tage, ältere Backups werden automatisch gelöscht.
|
# Vorhaltezeit der letzten Backups: 90 Tage, ältere Backups werden automatisch geloescht.
|
||||||
#
|
#
|
||||||
# By André Germann
|
# By Andre Germann
|
||||||
# Version 1.0 (22.03.2017)
|
# Version 1.1 (22.09.2017)
|
||||||
#
|
#
|
||||||
# ACHTUNG: Dieses Script muss vorher auf die Synology Disk Station kopiert und dann auch dort ausgeführt werden!
|
# ACHTUNG: Dieses Script muss vorher auf die Synology Disk Station kopiert und dann auch dort ausgefuehrt werden!
|
||||||
# Für die geplante, regelmäßige Ausführung bietet sich der Aufgabenplaner der Disk Station an.
|
# Fuer die geplante, regelmaessige Ausfuehrung bietet sich der Aufgabenplaner der Disk Station an.
|
||||||
#
|
#
|
||||||
# ACHTUNG: Dieses Script stoppt vor der Sicherung des Verzeichnises den ioBroker Container!
|
# ACHTUNG: Dieses Script stoppt vor der Sicherung des Verzeichnises den ioBroker Container!
|
||||||
# Zur Sicherheit wird empfohlen ioBroker vor dem Backup innerhalb des Containers zu stoppen.
|
# Zur Sicherheit wird empfohlen ioBroker vor dem Backup innerhalb des Containers zu stoppen.
|
||||||
# Dieses kann zum Beispiel über den vorherigen Aufruf des Scripts iobroker_stop.sh aus ioBroker heraus erledigt werden.
|
# Dieses kann zum Beispiel ueber den vorherigen Aufruf des Scripts iobroker_stop.sh aus ioBroker heraus erledigt werden.
|
||||||
|
|
||||||
|
|
||||||
# Deklaration der Variablen. Pfade und Bezeichnungen müssen ggf. entsprechend angepasst werden.
|
# Deklaration der Variablen. Pfade und Bezeichnungen muessen ggf. entsprechend angepasst werden.
|
||||||
|
|
||||||
iobrokerPATH='/volume1/docker/iobroker_mount' # Pfad des gemounteten ioBroker-Verzeichnises (zu sicherndes Verzeichnis) auf der Synology Disk Station
|
iobrokerPATH='/volume1/docker/iobroker_mount' # Pfad des gemounteten ioBroker-Verzeichnises (zu sicherndes Verzeichnis) auf der Synology Disk Station
|
||||||
backupPATH='/volume1/docker/iobroker_backup/archiv' # Pfad zum Speichern des Backups
|
backupPATH='/volume1/docker/iobroker_backup/archiv' # Pfad zum Speichern des Backups
|
||||||
iobrokerCONTAINERNAME='iobroker' # Name des ioBroker-Containers in Docker
|
iobrokerCONTAINERNAME='iobroker' # Name des ioBroker-Containers in Docker
|
||||||
|
|
||||||
|
|
||||||
# Start Script - Ab hier muss nichts mehr geändert werden!
|
# Start Script - Ab hier muss nichts mehr geaendert werden!
|
||||||
|
|
||||||
echo "#####################################################"
|
echo "#####################################################"
|
||||||
echo "############## Backupscript gestartet. ##############"
|
echo "############## Backupscript gestartet. ##############"
|
||||||
echo "#####################################################"
|
echo "#####################################################"
|
||||||
|
|
||||||
|
|
||||||
### Backup ioBroker-Verzeichnis
|
### Backup ioBroker-Verzeichnis
|
||||||
|
|
||||||
|
|
||||||
# ioBroker-Container stoppen
|
# ioBroker-Container stoppen
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "Der ioBroker-Container ($iobrokerCONTAINERNAME) in Docker wird gestoppt..."
|
echo "Der ioBroker-Container ($iobrokerCONTAINERNAME) in Docker wird gestoppt..."
|
||||||
|
|
||||||
docker stop $iobrokerCONTAINERNAME > /dev/null
|
docker stop $iobrokerCONTAINERNAME > /dev/null
|
||||||
|
|
||||||
echo "Container in Docker gestoppt."
|
echo "Container in Docker gestoppt."
|
||||||
echo ""
|
echo ""
|
||||||
echo "######################################################"
|
echo "######################################################"
|
||||||
sleep 5
|
sleep 5
|
||||||
|
|
||||||
|
|
||||||
# Backupdatei erstellen
|
# Backupdatei erstellen
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "Der Ordner $iobrokerPATH wird gesichert..."
|
echo "Der Ordner $iobrokerPATH wird gesichert..."
|
||||||
|
|
||||||
tar -C "$iobrokerPATH" -czf "$backupPATH/backup-$(date +%d.%m.%y-%R).tar.gz" .
|
tar -C "$iobrokerPATH" -czf "$backupPATH/backup-$(date +%d.%m.%y-%R).tar.gz" .
|
||||||
|
|
||||||
echo "Sicherung des Ordners erstellt."
|
echo "Sicherung des Ordners erstellt."
|
||||||
echo ""
|
echo ""
|
||||||
echo "######################################################"
|
echo "######################################################"
|
||||||
sleep 5
|
sleep 5
|
||||||
|
|
||||||
|
|
||||||
# Alte Backups loeschen (Loescht per "rm" alle "*.tar.gz"-Dateien im Ordner, die älter als 90 Tage sind)
|
# Alte Backups loeschen (Loescht per "rm" alle "*.tar.gz"-Dateien im Ordner, die aelter als 90 Tage sind)
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "Entfernen alter Backups aus dem Verzeichnis $backupPATH..."
|
echo "Entfernen alter Backups aus dem Verzeichnis $backupPATH..."
|
||||||
|
|
||||||
find -P "$backupPATH/" -maxdepth 1 -type f \( -name '*.tar.gz' \) -ctime +19 -exec rm {} \;
|
find -P "$backupPATH/" -maxdepth 1 -type f \( -name '*.tar.gz' \) -ctime +19 -exec rm {} \;
|
||||||
|
|
||||||
echo "Alte Backups wurden entfernt."
|
echo "Alte Backups wurden entfernt."
|
||||||
echo ""
|
echo ""
|
||||||
echo "######################################################"
|
echo "######################################################"
|
||||||
sleep 5
|
sleep 5
|
||||||
|
|
||||||
|
|
||||||
# ioBroker-Container starten
|
# ioBroker-Container starten
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "Der ioBroker-Container ($iobrokerCONTAINERNAME) in Docker wird gestartet..."
|
echo "Der ioBroker-Container ($iobrokerCONTAINERNAME) in Docker wird gestartet..."
|
||||||
|
|
||||||
docker start $iobrokerCONTAINERNAME > /dev/null
|
docker start $iobrokerCONTAINERNAME > /dev/null
|
||||||
|
|
||||||
echo "Container in Docker gestartet."
|
echo "Container in Docker gestartet."
|
||||||
echo ""
|
echo ""
|
||||||
echo "################### Script Ende ######################"
|
echo "################### Script Ende ######################"
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|||||||
Reference in New Issue
Block a user