linux-nerds.org

    linux-nerds.org

    • Registrieren
    • Anmelden
    • Suche
    • Kategorien
    • Aktuell
    • Tags
    • Beliebt

    Restic - Ein Backupkonzept - Automatisieren!

    Restic
    linux restic
    1
    1
    1065
    Lade mehr Beiträge
    • Älteste zuerst
    • Neuste zuerst
    • Meiste Stimmen
    Antworten
    • In einem neuen Thema antworten
    Anmelden zum Antworten
    Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
    • FrankM
      FrankM zuletzt editiert von FrankM

      Nach der Erstellung von folgendem Artikel Restic - Ein Backupkonzept habe ich eine Zeit lang gebraucht um mir ein vernünftiges Konzept zu erstellen. Backup's sind eine relativ komplexe und schwierige Materie. Wo lagert man? Was lagert man? Wie sichert man die Daten? usw.

      Wichtige Daten in der eigenen Wohnung zu sichern ist so lange eine gute Idee, bis die Wohnung mal brennt oder die Datenspeicher gestohlen werden. Auf dem Smartphone, das wäre auch noch eine Lösung. In der Cloud!? Hat was, aber ich traue allen kommerziellen Anbietern nicht über den Weg. Was machen? Man nimmt was eigenes, z.B. eine Nextcloud Installation. Da hat man weitestgehend alles in der eigenen Hand. Bleibt das Problem, das wir sehr wichtige Daten NUR verschlüsselt in der Cloud ablegen. Wir wollen es einem evt. Eindringling ja nicht zu einfach machen 😉

      Gut, das mit der Verschlüsselung haben wir ja gelöst, Restic speichert alle Backup's verschlüsselt. Bei der Suche nach einem Konzept bin ich in der Bedienungsanleitung über die Backends gestolpert, die Restic alle so unterstützt.

      0_1524762108060_restic_backends.png

      Die kommerziellen Sachen scheiden aus usw. Am Ende bin ich über Rclone gestolpert.

      Rclone is a command line program to sync files and directories to and from

      Rclone syncronisiert also einen Ordner mit einem Clouddienst. Und da kommt nun Restic ins Spiel, Restic nutzt Rclone zum Speichern der Daten in der Cloud. RClone unterstützt Nextcloud (natürlich auch Owncloud). Somit hätten wir ein gutes Team um Daten verschlüsselt in der Cloud abzulegen, welches sich auch relativ einfach automatisieren lassen sollte. Ok, fangen wir vorne an. Ich gehe von einer funktionierenden Restic Installation aus. Als Backend sollte eine Nextcloud Installation irgendwo im Netz laufen. Auf geht's...

      Rclone Installation

      Dieses Script installiert Rclone auf dem Rechner.

      curl https://rclone.org/install.sh | sudo bash
      

      Nach der erfolgreichen Installation kommt folgendes

      rclone v1.40 has successfully installed.
      Now run "rclone config" for setup. Check https://rclone.org/docs/ for more details.
      

      Rclone konfigurieren

      Mit

      rclone config
      

      stellt man die wichtigsten Parameter für Rclone ein.

      • Den Namen der Remoteverbindung - nextcloud
      • Den Type des Datenspeichers - 20 (Webdav)
      • URL of http Host - Den Webdav Pfad zu Eurer Nextcloud Installation
      • Name des Webdav Services - 1 (Nextcloud)
      • User Name - User Name (In Nextcloud festlegen!)
      • Passwort - Passwort (In Nextcloud festlegen)

      Das ganze bestätigen und kurz testen.

      rclone ls nextcloud:
      

      Nun sollte der Inhalt des Verzeichnisses ausgegeben werden.

      frank@frank-MS-7A34 ~ $ rclone ls nextcloud:
      5 TESTING.txt
      

      Erledigt, Rclone läuft. Nun der Teil mit Restic....

      Restic

      Nun schauen wir uns das mal mit Restic etwas genauer an.

      Beim ersten Test bekam ich immer eine Fehlermeldung

      frank@frank-MS-7A34 ~ $ restic -r rclone:nextcloud init
      Fatal: create repository at rclone:nextcloud failed: invalid backend
      If the repo is in a local directory, you need to add a 'local:' prefix
      

      Ok, kurz gegrübelt, das Backend ist drin auf github gecheckt. Klick, ich hatte eine alte Version installiert. Also schnell die neue Version gebaut und das Ganze sah schon besser aus.

      frank@frank-MS-7A34 ~/restic $ restic -r rclone:nextcloud:TEST init
      enter password for new repository:
      enter password again:
      created restic repository 7d6d14e068 at rclone:nextcloud:TEST
      

      Gut, läuft so weit. Kurz noch einen Anmerkung zum Pfad. Nehmen wir folgende Rclone Einstellung an.

      https://PFAD_zu_NEXTCLOUD/remote.php/webdav/BACKUP
      

      Der Restic Aufruf

      rclone:nextcloud:TEST
      

      zeigt auf einen Ordner innerhalb des Ordners Backup. Als Pfadangabe:

      https://PFAD_zu_NEXTCLOUD/remote.php/webdav/BACKUP/TEST
      

      Somit hätten wir jetzt das Repo vorbereitet und können jetzt unsere Daten dort speichern.

      frank@frank-MS-7A34 ~/restic $ restic -r rclone:nextcloud:TEST backup /home/frank/Bilder/21.04/
      enter password for repository:
      password is correct
      found 2 old cache directories in /home/frank/.cache/restic, pass --cleanup-cache to remove them
      

      Hier sieht man einen Aufruf um aus dem Ordner 21.04 die Bilder in Nextcloud zu sichern.Das Passwort wird abgefragt, und wenn korrekt wird gesichert. Im Beispiel tauchen noch alte Cache Dateien auf, hiermit bekommt man die weg.

      restic -r rclone:nextcloud:TEST backup /home/frank/Bilder/21.04/ --cleanup-cache
      

      Cronjob anlegen

      Schnell ein Script für den Cron schreiben. Das Script heißt backup.sh

      #!/bin/bash
      # Script um mit Restic & Rclone Daten automatisiert zu sichern!
      
      # PW hinterlegen
      export RESTIC_PASSWORD=12345678
      
      #Was soll gesichert werden?
      backup_pfad=/media/NAS/
      
      #Programm Start
      restic -r rclone:nextcloud:Daten backup $backup_pfad
      

      Einen Cronjob anlegen

      crontab -e
      

      Folgendes eingeben

      # m h  dom mon dow   command
      00 20 * * * /home/frank/backup.sh
      

      Speichern - Fertig! 😇

      Jeden Tag um 20:00 Uhr werden die Daten entsprechend gesichert!

      Im Fediverse -> @FrankM@nrw.social

      1. NanoPi R5S

      2. Quartz64 Model B, 4GB RAM

      3. Quartz64 Model A, 4GB RAM

      4. RockPro64 v2.1

      1 Antwort Letzte Antwort Antworten Zitieren 0
      • Erster Beitrag
        Letzter Beitrag
      • FrankM

        Restic v0.13.1 released
        Restic • restic • • FrankM

        1
        0
        Stimmen
        1
        Beiträge
        69
        Aufrufe

        Niemand hat geantwortet

      • FrankM

        Redis - Datenbanken löschen
        Redis • redis linux • • FrankM

        1
        0
        Stimmen
        1
        Beiträge
        89
        Aufrufe

        Niemand hat geantwortet

      • FrankM

        Restic v0.12.1 released
        Restic • restic • • FrankM

        1
        0
        Stimmen
        1
        Beiträge
        117
        Aufrufe

        Niemand hat geantwortet

      • FrankM

        Restic v0.12.0 released
        Restic • linux restic • • FrankM

        1
        0
        Stimmen
        1
        Beiträge
        174
        Aufrufe

        Niemand hat geantwortet

      • FrankM

        Cockpit
        Linux • linux • • FrankM

        1
        0
        Stimmen
        1
        Beiträge
        173
        Aufrufe

        Niemand hat geantwortet

      • FrankM

        Debian 10.4 released und Wireguard kaputt :(
        Linux • linux wireguard • • FrankM

        1
        0
        Stimmen
        1
        Beiträge
        196
        Aufrufe

        Niemand hat geantwortet

      • FrankM

        NGINX - Installation
        NGINX • nginx linux • • FrankM

        1
        0
        Stimmen
        1
        Beiträge
        243
        Aufrufe

        Niemand hat geantwortet

      • FrankM

        Minicom
        Linux • linux • • FrankM

        1
        0
        Stimmen
        1
        Beiträge
        433
        Aufrufe

        Niemand hat geantwortet

      Powered by NodeBB | Contributors
      © 2022 frank-mankel.de
      Mastodon