Influxdb Backup aus Docker Container

nw378

Benutzer
Mitglied seit
04. Jan 2017
Beiträge
3
Punkte für Reaktionen
0
Punkte
1
Hallo,

ich versuche mich gerade an der Backup-Erstellung. Ziel soll es sein, ein automatisches, regelmäßiges Backup zu erstellen, und dieses dann zum Beispiel in OneDrive zu speichern.

Das Backup erstelle ich aktuell in der Konsole mittels

sudo docker exec bdec12344169 influx backup /var/lib/influxdb2 -token HxxxxxxxxxxxxxxTVuRer0iMXoERu7D7uLB3xmbdBcwRxATMNZJ9GoXoQTFla2KdYtxqbUvVR4a-iKQDmgq34Q==

So weit, so gut.

Es werden zahlreiche .gz Dateien erzeugt.

Wie kann ich diese (per Batch?) zu einem ZIP zusammenfassen und dann nach OneDrive schicken?

Idealerweise alles zusammen, nacheinander, täglich. Per Crontab? Gibt`s das auf der Syno?
 

nw378

Benutzer
Mitglied seit
04. Jan 2017
Beiträge
3
Punkte für Reaktionen
0
Punkte
1
Aufgabe selber gelöst.

Skript erstellt, nach Vorlage von https://www.laub-home.de/wiki/Docker_InfluxDB_2_Backup_Script

Code:
#!/usr/bin/env bash

export LANG="en_US.UTF-8"
#Load the Pathes
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# set the variables

# Where to store the Backup files?
# mount that directory to /backup into the influxdb containers
BACKUPDIR=/volume1/docker/influxdb/backup

# How many Days should a backup be available?
DAYS=2

TIMESTAMP=$(date +"%Y%m%d%H%M")

CONTAINER=$(docker ps --format '{{.Names}}:{{.Image}}' | grep 'influxdb' | cut -d":" -f1)

### Do the stuff
echo -e "Start $TIMESTAMP Backup for Databases: \n"
if [ ! -d $BACKUPDIR ]; then
        mkdir -p $BACKUPDIR
fi

for i in $CONTAINER; do
        echo -e " create Backup for Database on Container:\n  * $i";
        docker exec -e i=$i -e TIMESTAMP=$TIMESTAMP $i influx backup --compression gzip /backup/influxdb/$i-$TIMESTAMP > /dev/null 2>&1
        # dont delete last old backups!
        OLD_BACKUPS=$(ls -d1 $BACKUPDIR/$i* |wc -l)
        if [ $OLD_BACKUPS -gt $DAYS ]; then
                find $BACKUPDIR -maxdepth 1 -name "$i*" -type d -daystart -mtime +$DAYS -type d -exec rm -rf {} \;
        fi
done
echo -e "\n$TIMESTAMP Backup for Databases completed\n"

Ausführung täglich mittels Syno Aufgabenplaner.

Und Sync mit OneDrive mittels CloudSync.
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat