top of page
AutorenbildBenjamin Dombrowsky

Use Case: (Automatisches) Atlassian Cloud Backup auf Synology NAS

Das Thema Backup von Cloud Umgebungen ist meines Erachtens nach weiterhin relativ unpopulär und wird häufig abgetan, in der Annahme, dass ein Backup einer Cloud Umgebung nicht so wichtig sei, wie von selbst betriebenen Systemen. Ich spanne den Bogen jetzt nicht (noch einmal), warum das schlichtweg falsch ist.


In diesem Use Case möchte ich eine einfache und pragmatische Methode skizzieren, wie man Jira und Confluence Cloud auf einer lokalen Synology NAS Station sichern kann.


Diese Lösung richtet sich primär an kleinere Umgebungen / Unternehmen, in welchen ggfs. schon ein Synology NAS betrieben wird.


Der Aufbau sieht wie folgt aus:



Was benötigen wir nun also zur Einrichtung unseres Backups?


  1. Eine Synology NAS Station, auf welcher Python 3 installiert und konfiguriert ist, inklusive einer virtuellen Python Umgebung

    1. Anleitung: https://kb.synology.com/de-de/DSM/tutorial/Set_up_Python_virtual_environment_on_NAS

  2. Die beiden Python Scripte "jira_backup.py" und "confluence_backup.py"

    1. Quelle: Atlassian Labs: https://bitbucket.org/atlassianlabs/automatic-cloud-backup/src/master/

  3. Einen Atlassian API Token

    1. Anleitung: https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/


Ich habe mir jetzt zusätzlich kleine Bash Scripte erstellt, in welchen die Python Scripte mit den jeweiligen Parametern gestartet werden (primär, weil ich verschiedene Umgebungen sichern möchte und dies so etwas einfacher ist).

# start_jira_backup.sh

python3 jira_backup.py -s SITE -u USER -t TOKEN -f FOLDER

Parameter (Jira Cloud Backup)

jira_backup.py --help
usage: jira backup [-h] [-s SITE] [-u USER] [-t TOKEN] [-f FOLDER]

optional arguments:
  -h, --help            show this help message and exit
  -s SITE, --site SITE  Your site/account name <account>.atlassian.net
  -u USER, --user USER  Your email address for the jira account with admin rights
  -t TOKEN, --token TOKEN
                        API token for the user account
  -f FOLDER, --folder FOLDER
                        Destination folder for the backup file

Wichtig hier, dass das entsprechende Backup-Ziel auf der Synology Station definiert werden muss (Hierfür sollte ein entsprechend dedizierter Bereich vorab erzeugt werden):

-f FOLDER, --folder FOLDER
 					Destination folder for the backup file

Jetzt können wir auf der Synology NAS Station eine neue Aufgabe (Systemsteuerung -> Dienst -> Aufgabenplaner) erstellen.


  1. Erstellen -> Geplante Aufgabe -> Benutzerdefiniertes Skript

  2. Aufgabe sinnvoll benennen

  3. Benutzer auswählen, welcher Zugriff auf das Python Script / Umgebung besitzt und auch in das Backup-Ziel schreiben darf

  4. Unter "Aufgabeneinstellungen" unter "Befehl ausführen" unser Script hinterlegen


Denkt daran, dass Ihr den Zeitplan so konfiguriert, dass Ihr das Backup nicht zu häufig erstellt. Derzeit kann lediglich alle 48 Stunden ein Backup von der Atlassian Cloud erzeugt werden, siehe auch https://confluence.atlassian.com/jirakb/automate-backups-for-jira-cloud-779160659.html


Die fertige Aufgabe sieht bei mir wie folgt aus:






Abschließend könnt Ihr die Aufgabe einmal manuell starten, um zu sehen, ob das Backup wie gewünscht funktioniert.

Das Ergebnis sollte, in dem zuvor definierten Ziel-Speicherort, in etwa wie folgt aussehen:



In größeren Umgebungen / Unternehmen, gibt es weitere Punkte zu berücksichtigen und hier wird diese Lösung nicht allen Anforderungen erfüllen. Dennoch: Es ist eine einfache und pragmatische Möglichkeit, die Daten aus der Atlassian Cloud lokal vorzuhalten / zu sichern.


Der Ansatz (Python Script von Atlassian), kann natürlich auf x-beliebige Backup-Lösungen übertragen werden.

Comments


bottom of page