Skip to content

Restic - Backblaze B2 Cloud Storage

Restic
  • Dank eines Tipps, viele Grüße nach Hamburg 😉 , teste ich heute mal Restic in Zusammenarbeit mit dem Cloud Anbieter Backblaze B2. Da Backblaze ein amerikanischer Anbieter ist, scheidet ein Speichern von Daten im Klartext logischerweise aus. Also muss mindestens was nett verschlüsseltes her, so was wie AES256.

    Ok, das kann Restic 🙂

    Restic is built to secure your data against such attackers, by encrypting it with AES-256 in counter mode and authenticating it using Poly1305-AES.
    Quelle: https://restic.net/

    Account erstellen

    Wollte mich anmelden, das erste was passiert ist folgendes...

    0c77b8c9-e655-4899-9cbb-64188e26e2a2-grafik.png

    Ok, dann nur 49 Zeichen 😞 Danach kommt eine Abfrage bzgl. der Telefonnummer. Danach kann man die 2FA einstellen.
    Man kann zwischen SMS und Google Authenticator/Authy wählen. Alles in allem sieht das sehr gut aus. Denke da kann man was ablegen LOL

    Damit haben wir das erledigt.

    Bucket erstellen

    Wir legen ein Bucket an, darauf achten das er auf Privat steht! Auch wenn die Daten verschlüsselt sind 😉 Ok, die Namen müssen wohl über die komplette Cloud einmalig sein, die ersten zwei getesteten Namen gab es schon.

    frank-restic-backup
    

    Den nicht 🙂

    Application Keys erstellen

    Wir brauchen aber mal zu erst, die Application Keys. Dazu kann man auf Backblaze auf App-Keys gehen, dort auf Add a New Application Key klicken. Dann vergeben wir einen Namen, wählen das Bucket aus, für den die Keys gelten. Danach auf Create New Key und die Keys notieren!

    Test Repo erzeugen

    Ich benutze hier ein File /root/passwd worin das gewünschte Passwort abgelegt ist. Denkt an die Rechte, so wenig wie möglich 😉

    $ export B2_ACCOUNT_ID="<ApplicationID>"
    $ export B2_ACCOUNT_KEY="<ApplicationKEY>"
    

    Da oben die ApplicationID und den ApplicationKEY eingeben!

    Init

    restic --password-file /root/passwd -r b2:frank-restic-backup init
    

    Dann kommt folgendes

    root@debian:~# restic -r b2:frank-restic-backup init
    enter password for new repository: 
    enter password again: 
    created restic repository f9419b33bc at b2:frank-restic-backup
    
    Please note that knowledge of your password is required to access
    the repository. Losing your password means that your data is
    irrecoverably lost.
    

    Damit wäre das Repository auf Blackbaze erzeugt. Jetzt können wir dort ein paar Daten zum Testen ablegen.

    root@debian:~# restic --password-file /root/passwd -r b2:frank-restic-backup backup /home/frank/Bilder
    repository f9419b33 opened successfully, password is correct
    created new cache in /root/.cache/restic
    
    Files:          68 new,     0 changed,     0 unmodified
    Dirs:            2 new,     0 changed,     0 unmodified
    Added to the repo: 183.462 MiB
    
    processed 68 files, 183.461 MiB in 5:49
    snapshot 6dc27047 saved
    

    Gut zum Testen was kleines und hier direkt der Hinweis, für Server ist das sicherlich besser geeignet. Der Upload ist ja zu Hause meistens ein Flaschenhals. Aber, wir sehen, es funktioniert.

    Restic Script erstellen

    Ich habe ja schon ein paar Cronjobs Laufen, so das ich jetzt eines dieser Scripte nehme und es modifiziere.

    #!/bin/bash
    # Script um mit Restic Daten automatisiert zu sichern!
    # Hier sichern wir das Bilderverzeichnis auf ein Backblaze Bucket!
    
    export B2_ACCOUNT_ID="ApplicationID"
    export B2_ACCOUNT_KEY="ApplicationKey"
        
    #Was soll gesichert werden?
    backup_pfad=/home/frank/Bilder
    
    #Programm Start
    restic --password-file /root/passwd -r b2:frank-restic-backup backup --verbose $backup_pfad
    

    Mittels --exclude-file=excludes.txt am Ende könnt ihr noch Verzeichnisse vom Sichern ausklammern.

    Backblaze.com hat eine gute Anleitung, schaut auf alle Fälle mal rein.
    https://help.backblaze.com/hc/en-us/articles/115002880514-How-to-configure-Backblaze-B2-with-Restic-on-Linux

    Test des Scriptes

    root@debian:~# ./backblaze.sh 
    open repository
    repository f9419b33 opened successfully, password is correct
    lock repository
    load index files
    using parent snapshot 6dc27047
    start scan on [/home/frank/Bilder]
    start backup on [/home/frank/Bilder]
    scan finished in 2.652s: 68 files, 183.461 MiB
    
    Files:           0 new,     0 changed,    68 unmodified
    Dirs:            0 new,     0 changed,     2 unmodified
    Data Blobs:      0 new
    Tree Blobs:      0 new
    Added to the repo: 0 B  
    
    processed 68 files, 183.461 MiB in 0:03
    snapshot e72e0f67 saved
    

    Ich hoffe, dem ein oder anderen habe ich jetzt auf den Geschmack gebracht. Mir sind beim Schreiben dieser Zeilen ein paar Ideen gekommen, was ich dort sichern könnte 😉

    de848228-fa40-4e6e-8cd4-7b15c8a26c8a-grafik.png

  • Nextcloud - Update auf 30.0.1

    Nextcloud
    1
    0 Stimmen
    1 Beiträge
    141 Aufrufe
    Niemand hat geantwortet
  • Ansible - Proxmox Server bearbeiten

    Ansible
    1
    0 Stimmen
    1 Beiträge
    367 Aufrufe
    Niemand hat geantwortet
  • nano - Zeilennummern dauerhaft anzeigen

    Linux
    1
    0 Stimmen
    1 Beiträge
    1k Aufrufe
    Niemand hat geantwortet
  • Restic UI - REST Server Unterstützung

    Restic UI
    2
    0 Stimmen
    2 Beiträge
    216 Aufrufe
    FrankMF

    Die REST Unterstützung ist komplett 🤓

    Link Preview Image Not Found

    favicon

    (gitlab.com)

    Ich denke, ein wenig Dokumentation wäre noch gut ☺

  • NanoPi R2S - Firewall mit VLan und DHCP-Server

    Verschoben NanoPi R2S
    2
    0 Stimmen
    2 Beiträge
    761 Aufrufe
    FrankMF

    Nachdem ich die Tage feststellen musste, das irgendwas mit dem Gerät nicht stimmte, bekam keine DNS Auflösung über die Konsole, habe ich das heute mal eben neuinstalliert.

    Armbian ist ja immer was spezielles 🙂 Hat sich bis heute nix dran geändert.....

    Ok, dann heute mal eben ein neues Image erstellt. Download Gewählt habe ich das Armbian Buster.

    Image auf die SD-Karte, eingeloggt. Alles wie oben erstellt und abgespeichert. Neustart, geht wieder alles. 😍

    root@192.168.3.15's password: _ _ _ ____ ____ ____ | \ | | __ _ _ __ ___ _ __ (_) | _ \|___ \/ ___| | \| |/ _` | '_ \ / _ \| '_ \| | | |_) | __) \___ \ | |\ | (_| | | | | (_) | |_) | | | _ < / __/ ___) | |_| \_|\__,_|_| |_|\___/| .__/|_| |_| \_\_____|____/ |_| Welcome to Debian GNU/Linux 10 (buster) with Linux 5.9.11-rockchip64 System load: 2% Up time: 11 min Memory usage: 10% of 978M IP: 192.168.3.15 192.168.1.1 192.168.2.1 CPU temp: 61°C Usage of /: 5% of 29G Last login: Sun Dec 6 12:28:10 2020 from 192.168.3.213 Kernelversion root@nanopi-r2s:~# uname -a Linux nanopi-r2s 5.9.11-rockchip64 #20.11.1 SMP PREEMPT Fri Nov 27 21:59:08 CET 2020 aarch64 GNU/Linux ip a oot@nanopi-r2s:~# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether b2:b5:10:38:9e:76 brd ff:ff:ff:ff:ff:ff inet 192.168.3.15/24 brd 192.168.3.255 scope global dynamic eth0 valid_lft 6360sec preferred_lft 6360sec inet6 2a02:908:xxxxxx/64 scope global dynamic mngtmpaddr valid_lft 7196sec preferred_lft 596sec inet6 fe80::b0b5:10ff:fe38:9e76/64 scope link valid_lft forever preferred_lft forever 3: lan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether b2:b5:10:38:9e:96 brd ff:ff:ff:ff:ff:ff 4: lan0.100@lan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether b2:b5:10:38:9e:96 brd ff:ff:ff:ff:ff:ff inet 192.168.1.1/24 brd 192.168.1.255 scope global lan0.100 valid_lft forever preferred_lft forever inet6 fe80::b0b5:10ff:fe38:9e96/64 scope link valid_lft forever preferred_lft forever 5: lan0.200@lan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether b2:b5:10:38:9e:96 brd ff:ff:ff:ff:ff:ff inet 192.168.2.1/24 brd 192.168.2.255 scope global lan0.200 valid_lft forever preferred_lft forever inet6 fe80::b0b5:10ff:fe38:9e96/64 scope link valid_lft forever preferred_lft forever

    Vom Notebook aus funktioniert auch alles. So weit bin ich zufrieden. Jetzt mal langsam anfangen, der Kiste IPv6 beizubringen. Oje, nicht gerade mein Lieblingsthema...

    Bis der NanoPi R4S hier ankommt und ein vernünftiges Image hat, vergeht ja noch was Zeit...

  • SCP mit IPv6 nutzen

    Linux
    1
    0 Stimmen
    1 Beiträge
    223 Aufrufe
    Niemand hat geantwortet
  • sign_and_send_pubkey: signing failed: agent refused operation

    Linux
    1
    0 Stimmen
    1 Beiträge
    786 Aufrufe
    Niemand hat geantwortet
  • Datensicherung zwischen zwei Server

    Linux
    2
    0 Stimmen
    2 Beiträge
    702 Aufrufe
    FrankMF

    Funktionskontrolle heute morgen war o.k. Schreibt die Daten aber noch ins falsche Verzeichnis, da muss ich nochmal ran.