Skip to content

Restic - Ein Backupkonzept - Wiederherstellung

Verschoben Restic
  • Im letzten Artikel Restic - Ein Backupkonzept - Automatisieren! haben wir mittels Restic und Rclone eine Datensicherungsmöglichkeit erstellt, die uns vollautomatisch Backup's in eine Nextclod-Installation sichert.

    So weit, so gut. Aber ein Backup nützt nichts, wenn man die Daten nicht testet und auch mal die Wiederherstellung ausprobiert. Restic legt ja nun bei jedem Vorgang einen Snapshot an. Hier eine kurze Erklärung wie man diese testet und wiederherstellt.

    Snapshot auflisten

    Mit folgendem Befehl listet man alle Snaphots auf.

    restic -r rclone:nextcloud:TEST snapshots
    

    Ausgabe:

    restic -r rclone:nextcloud:TEST snapshots
    enter password for repository:
    password is correct
    ID Date Host Tags Directory
    ----------------------------------------------------------------------
    5c190a9a 2018-04-25 17:32:56 frank-MS-7A34 /media/
    80dbfa5e 2018-04-25 17:33:54 frank-MS-7A34 /media/
    7c894658 2018-04-25 17:36:06 frank-MS-7A34 /media/
    32f6138b 2018-04-25 17:39:09 frank-MS-7A34 /media/
    51746817 2018-04-25 17:39:34 frank-MS-7A34 /media/
    5fba5e1d 2018-04-25 17:39:51 frank-MS-7A34 /media/
    0f4b2d7e 2018-04-25 20:24:40 frank-MS-7A34 /media/
    a3622a2b 2018-04-25 20:26:17 frank-MS-7A34 /media/
    c15e6293 2018-04-25 20:29:03 frank-MS-7A34 /media/
    3c13b348 2018-04-26 20:00:04 frank-MS-7A34 /media/
    ad607561 2018-04-27 20:00:05 frank-MS-7A34 /media/
    ----------------------------------------------------------------------
    11 snapshots
    

    Snapshot testen

    restic -r rclone:nextcloud:TEST check --read-data
    using temporary cache in /tmp/restic-check-cache-935353687
    enter password for repository: 
    password is correct
    create exclusive lock for repository
    load indexes
    check all packs
    check snapshots, trees and blobs
    read all data
    [0:00] 100.00%  5 / 5 items
    duration: 0:00
    no errors were found
    

    Wir sehen, das die Daten in Ordnung sind.

    Snapshot wiederherstellen

    Die Snapshot-ID kopieren und dann folgenden Befehl eingeben

    restic -r rclone:nextcloud:TEST restore ad607561 --target /home/frank/Test_Restic
    enter password for repository:
    password is correct
    restoring to /home/frank/Test_Restic
    

    Danach befinden sich die Daten im Ordner /home/frank/Test_Restic

    Script erweitern

    Um das Ganze jetzt rund zu machen, brauchen wir ein Script, was die Daten sichert. Nach der Sicherung uns die Daten testet und bei einem Fehler eine Ausgabe in ein Logfile macht.

    Ok, also manipulieren wir ein File um den Fehler abfangen zu können.

    ./check.sh
    using temporary cache in /tmp/restic-check-cache-068904630
    password is correct
    create exclusive lock for repository
    load indexes
    check all packs
    check snapshots, trees and blobs
    error: load <snapshot/a82ece8693>: invalid data returned
    read all data
    [0:00] 100.00% 3 / 3 items
    duration: 0:00
    Fatal: repository contains errors
    Abgebrochen
    

    Den Snapshot a82.... habe ich manipuliert, eine Fehlermeldung "Abgebrochen" gebe ich auch schon aus. Das File sieht so aus.

    #!/bin/bash
    # Script um mit Restic & Rclone Daten zu checken!
    
    # PW hinterlegen
    export RESTIC_PASSWORD=12345678
    
    restic -r rclone:nextcloud:Daten check --read-data
    failcode=$?
    
    d='date +%d.%m.%Y_%H:%M:%S'
    
    if [ $failcode != 0 ]
    then
        echo $d "Ein Fehler ist aufgetreten!" >> /home/frank/restic.log
    fi
    

    Bei einem Fehler wird geloggt. Ausgabe:

    27.04.2018_22:13:51 Ein Fehler ist aufgetreten!
    27.04.2018_22:14:35 Ein Fehler ist aufgetreten!
    

    Das Ganze basteln wir jetzt mit dem Backup-Script zusammen.

    #!/bin/bash
    # Script um mit Restic & Rclone Daten automatisiert zu sichern!
    
    # Repo definieren und PW hinterlegen
    export RESTIC_PASSWORD=12345678
    
    #Was soll gesichert werden?
    backup_pfad=/media/
    
    #Programm Start
    restic -r rclone:nextcloud:TEST backup $backup_pfad
    restic -r rclone:nextcloud:TEST check --read-data
    
    failcode=$?
    d='date +%d.%m.%Y_%H:%M:%S'
    
    if [ $failcode != 0 ]
    then
       echo $d "Ein Fehler ist aufgetreten!" >> /home/frank/restic.log
    fi
    

    Done! 😀

  • Update 1.33.2

    Vaultwarden
    1
    0 Stimmen
    1 Beiträge
    84 Aufrufe
    Niemand hat geantwortet
  • Restic v0.14.0 released

    Restic
    5
    0 Stimmen
    5 Beiträge
    204 Aufrufe
    FrankMF
    @berthold GUI v1.5.0 released mit Unterstützung für restic 0.14.0 und dem Migrations Tool. Bitte zum Testen evt. nicht auf die wichtigsten Daten loslassen Mein Test mit meinem Repo auf dem REST-Server war erfolgreich.
  • 10G

    Linux
    2
    0 Stimmen
    2 Beiträge
    173 Aufrufe
    FrankMF
    Bedingt durch ein paar Probleme mit der Forensoftware, habe ich einen kleinen Datenverlust erlitten. Dazu gehören auch hier einige Beiträge. Dann versuche ich das mal zu rekonstruieren. Oben hatten wir das SFP+ Modul ja getestet. Als nächsten Schritt habe ich die ASUS XG-C100F 10G SFP+ Netzwerkkarte in meinen Hauptrechner verbaut. [image: 1635752117002-20211028_162455_ergebnis.jpg] Die Verbindung zum Zyxel Switch erfolgt mit einem DAC-Kabel. Im Video zum Zyxel Switch wurde schön erklärt, das die DAC Verbindung stromsparender als RJ45 Adapter sind. Somit fiel die Wahl auf die DAC Verbindungen. Hier nochmal das Video. https://www.youtube.com/watch?v=59I-RlliRms So sieht so ein DAC Verbindungskabel aus. Die SFP+ Adapter sind direkt daran montiert. [image: 1635752308951-20211028_170118_ergebnis.jpg] ethtool root@frank-MS-7C37:/home/frank# ethtool enp35s0 Settings for enp35s0: Supported ports: [ FIBRE ] Supported link modes: 100baseT/Full 1000baseT/Full 10000baseT/Full 2500baseT/Full 5000baseT/Full Supported pause frame use: Symmetric Receive-only Supports auto-negotiation: Yes Supported FEC modes: Not reported Advertised link modes: 100baseT/Full 1000baseT/Full 10000baseT/Full 2500baseT/Full 5000baseT/Full Advertised pause frame use: Symmetric Advertised auto-negotiation: Yes Advertised FEC modes: Not reported Speed: 10000Mb/s Duplex: Full Port: FIBRE PHYAD: 0 Transceiver: internal Auto-negotiation: on Supports Wake-on: pg Wake-on: g Current message level: 0x00000005 (5) drv link Link detected: yes iperf3 ----------------------------------------------------------- Server listening on 5201 ----------------------------------------------------------- Accepted connection from 192.168.3.207, port 44570 [ 5] local 192.168.3.213 port 5201 connected to 192.168.3.207 port 44572 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 1.10 GBytes 9.43 Gbits/sec 46 1.59 MBytes [ 5] 1.00-2.00 sec 1.10 GBytes 9.42 Gbits/sec 0 1.60 MBytes [ 5] 2.00-3.00 sec 1.10 GBytes 9.42 Gbits/sec 3 1.60 MBytes [ 5] 3.00-4.00 sec 1.10 GBytes 9.42 Gbits/sec 0 1.60 MBytes [ 5] 4.00-5.00 sec 1.10 GBytes 9.42 Gbits/sec 0 1.61 MBytes [ 5] 5.00-6.00 sec 1.10 GBytes 9.42 Gbits/sec 0 1.63 MBytes [ 5] 6.00-7.00 sec 1.10 GBytes 9.42 Gbits/sec 0 1.63 MBytes [ 5] 7.00-8.00 sec 1.09 GBytes 9.41 Gbits/sec 0 1.68 MBytes [ 5] 8.00-9.00 sec 1.10 GBytes 9.42 Gbits/sec 0 1.68 MBytes [ 5] 9.00-10.00 sec 1.10 GBytes 9.42 Gbits/sec 0 1.68 MBytes [ 5] 10.00-10.02 sec 22.5 MBytes 9.45 Gbits/sec 0 1.68 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.02 sec 11.0 GBytes 9.42 Gbits/sec 49 sender
  • Proxmox - Backup Server WakeOnLan

    Proxmox
    1
    2
    0 Stimmen
    1 Beiträge
    737 Aufrufe
    Niemand hat geantwortet
  • Nextcloud - Upgrade auf 19.0.1

    Nextcloud
    1
    1
    0 Stimmen
    1 Beiträge
    236 Aufrufe
    Niemand hat geantwortet
  • IPFire Orange DHCP

    Verschoben Linux
    1
    0 Stimmen
    1 Beiträge
    1k Aufrufe
    Niemand hat geantwortet
  • Liste von Linuxbefehlen

    Angeheftet Linux
    4
    1
    0 Stimmen
    4 Beiträge
    795 Aufrufe
    FrankMF
    Anzeige des Speicherplatzes als Ersatz für df -h ~ duf  ✔ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ 8 local devices │ ├─────────────────┬────────┬────────┬────────┬───────────────────────────────┬───────┬─────────────────────────────────┤ │ MOUNTED ON │ SIZE │ USED │ AVAIL │ USE% │ TYPE │ FILESYSTEM │ ├─────────────────┼────────┼────────┼────────┼───────────────────────────────┼───────┼─────────────────────────────────┤ │ / │ 435.4G │ 154.6G │ 274.6G │ [#######.............] 35.5% │ btrfs │ /dev/luks-5336cabc-29f1-4af2-8a │ │ │ │ │ │ │ │ 31/dd411a9a1599 │ │ /boot/efi │ 299.4M │ 728.0K │ 298.7M │ [....................] 0.2% │ vfat │ /dev/nvme0n1p1 │ │ /home │ 435.4G │ 154.6G │ 274.6G │ [#######.............] 35.5% │ btrfs │ /dev/luks-5336cabc-29f1-4af2-8a │ │ │ │ │ │ │ │ 31/dd411a9a1599 │ │ /mnt/1TB │ 916.7G │ 821.8G │ 48.3G │ [#################...] 89.7% │ ext4 │ /dev/sda1 │ │ /mnt/Backup │ 457.4G │ 125.3G │ 308.8G │ [#####...............] 27.4% │ ext4 │ /dev/sdc1 │ │ /mnt/Backup_PVE │ 3.6T │ 718.3G │ 2.7T │ [###.................] 19.6% │ ext4 │ /dev/sdb1 │ │ /var/cache │ 435.4G │ 154.6G │ 274.6G │ [#######.............] 35.5% │ btrfs │ /dev/luks-5336cabc-29f1-4af2-8a │ │ │ │ │ │ │ │ 31/dd411a9a1599 │ │ /var/log │ 435.4G │ 154.6G │ 274.6G │ [#######.............] 35.5% │ btrfs │ /dev/luks-5336cabc-29f1-4af2-8a │ │ │ │ │ │ │ │ 31/dd411a9a1599 │ ╰─────────────────┴────────┴────────┴────────┴───────────────────────────────┴───────┴─────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │ 1 network device │ ├────────────┬────────┬────────┬────────┬───────────────────────────────┬──────┬───────────────────┤ │ MOUNTED ON │ SIZE │ USED │ AVAIL │ USE% │ TYPE │ FILESYSTEM │ ├────────────┼────────┼────────┼────────┼───────────────────────────────┼──────┼───────────────────┤ │ /mnt/NAS │ 786.4G │ 327.0G │ 419.3G │ [########............] 41.6% │ nfs4 │ 192.168.3.19:/NAS │ ╰────────────┴────────┴────────┴────────┴───────────────────────────────┴──────┴───────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ 9 special devices │ ├─────────────────────────────────┬────────┬────────┬───────┬───────────────────────────────┬──────────┬────────────┤ │ MOUNTED ON │ SIZE │ USED │ AVAIL │ USE% │ TYPE │ FILESYSTEM │ ├─────────────────────────────────┼────────┼────────┼───────┼───────────────────────────────┼──────────┼────────────┤ │ /dev │ 30.2G │ 0B │ 30.2G │ │ devtmpfs │ dev │ │ /dev/shm │ 30.3G │ 21.9M │ 30.3G │ [....................] 0.1% │ tmpfs │ tmpfs │ │ /run │ 30.3G │ 2.0M │ 30.3G │ [....................] 0.0% │ tmpfs │ run │ │ /run/credentials/systemd-crypts │ 1.0M │ 0B │ 1.0M │ │ tmpfs │ tmpfs │ │ etup@luks\x2d3a8e1aea\x2d0d01\x │ │ │ │ │ │ │ │ 2d4e45\x2d940f\x2d63af54c3d7f0. │ │ │ │ │ │ │ │ service │ │ │ │ │ │ │ │ /run/credentials/systemd-crypts │ 1.0M │ 0B │ 1.0M │ │ tmpfs │ tmpfs │ │ etup@luks\x2d5336cabc\x2d29f1\x │ │ │ │ │ │ │ │ 2d4af2\x2d8a31\x2ddd411a9a1599. │ │ │ │ │ │ │ │ service │ │ │ │ │ │ │ │ /run/credentials/systemd-journa │ 1.0M │ 0B │ 1.0M │ │ tmpfs │ tmpfs │ │ ld.service │ │ │ │ │ │ │ │ /run/user/1000 │ 6.1G │ 4.4M │ 6.1G │ [....................] 0.1% │ tmpfs │ tmpfs │ │ /sys/firmware/efi/efivars │ 128.0K │ 62.8K │ 60.2K │ [#########...........] 49.1% │ efivarfs │ efivarfs │ │ /tmp │ 30.3G │ 954.6M │ 29.3G │ [....................] 3.1% │ tmpfs │ tmpfs │ ╰─────────────────────────────────┴────────┴────────┴───────┴───────────────────────────────┴──────────┴────────────╯
  • Projekt NAS - BIOS Update 1.25.0

    Linux
    1
    0 Stimmen
    1 Beiträge
    667 Aufrufe
    Niemand hat geantwortet