Windows 10: Einfaches Docker-Backup-Skript mit Versionen

Für eine Xibo CMS-Testumgebung auf einem Windows 10-PC sollte eine automatische Datensicherung der notwendigen Docker-Container erfolgen. Mit einer handvoll Docker-Befehlen und einem kleinen Skript eine lösbare Aufgabe.

Anbei ein Beispiel:

@echo off

rem In den Arbeitsordner wechseln

 D:
 cd D:\XiboDockerBackup

rem Backup-Versionen festlegen

 set NumberOfVersionsToKeep=7

rem Version auslesen und inkrementieren

 set /p Version=< Version.txt
 set Version=%Version: =%

 set /A Version=Version %% NumberOfVersionsToKeep + 1
 echo %Version% > Version.txt

rem Docker-Backup erstellen

 docker commit -p <ID> backup-xibo-cms
 docker commit -p <ID> backup-xibo-mysql
 docker commit -p <ID> backup-xibo-xmr

rem Docker Backup extern speichern

 docker save -o backup-xibo-cms-%Version%.tar backup-xibo-cms
 docker save -o backup-xibo-mysql-%Version%.tar backup-xibo-mysql
 docker save -o backup-xibo-xmr-%Version%.tar backup-xibo-xmr

rem Nicht benötigte Docker Images entfernen

 docker image prune --force

Das Skript ansich muss nur mit den nötigen Containern “gefüttert” werden, folglich ist es mit minimalen bzw. simplen Anpassungen für anderen Docker-Container nutzbar. Als Aufgabe eingerichtet verrichtet es seinen Dienst automatisch.

Tipp: Wer Speicherplatz sparen möchte, kann die tar-Dateien noch z.B. mit 7-Zip packen und die Originale entfernen lassen. Dazu einfach folgende Zeilen an das Skript anfügen:

rem Datensicherung mit 7-Zip packen

 set SevenZipPath=C:\Program Files\7-Zip

rem Voriges/Altes Archiv entfernen

 del /s backup-xibo-cms-%Version%.7z

rem Aktuelle Datensicherung packen und bei Erfolg die Quelldateien entfernen

 "%SevenZipPath%\7z.exe" a backup-xibo-cms-%Version%.7z backup-xibo-*-%Version%.tar -sdel

Quelle:

bobcares – Docker backup – Easy steps to backup and restore your containers

1 Kommentar

  1. Lost-in-IT

    Vielen Dank für das Script. Das werde ich mir mal anschauen…

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

© 2024 Andy's Blog

Theme von Anders NorénHoch ↑