Skip to content

Restic - forget --keep-last 3 --prune

Restic
  • Die Restic Parameter

    • -l, --keep-last n keep the last n snapshots
    • --prune automatically run the 'prune' command if snapshots have been removed

    The "prune" command checks the repository and removes data that is not
    referenced and therefore not needed any more.

    Ordner Größe vorher

    root@debian:~# du -hs /media/1TB/Restic/Home_Debian/
    43G	/media/1TB/Restic/Home_Debian/
    

    Script

    restic --password-file /root/passwd -r /media/1TB/Restic/Home_Debian forget --keep-last 3 --prune
    

    Ausgabe

    root@debian:~# ./backup.sh
    open repository
    repository 8b5bd7f8 opened successfully, password is correct
    found 2 old cache directories in /root/.cache/restic, pass --cleanup-cache to remove them
    lock repository
    load index files
    using parent snapshot 61d72a7d
    start scan on [/home/frank]
    start backup on [/home/frank]
    scan finished in 0.800s: 13395 files, 40.221 GiB
    
    Files:           0 new,     6 changed, 13389 unmodified
    Dirs:            0 new,     1 changed,     0 unmodified
    Data Blobs:      9 new
    Tree Blobs:      2 new
    Added to the repo: 6.570 MiB
    
    processed 13395 files, 40.221 GiB in 0:01
    snapshot 890c2add saved
    repository 8b5bd7f8 opened successfully, password is correct
    found 2 old cache directories in /root/.cache/restic, pass --cleanup-cache to remove them
    Applying Policy: keep the last 3 snapshots snapshots
    snapshots for (host [debian], paths [/home/frank]):
    
    keep 3 snapshots:
    ID        Time                 Host        Tags        Reasons        Paths
    ---------------------------------------------------------------------------------
    80aa40ab  2020-01-01 21:47:29  debian                  last snapshot  /home/frank
    61d72a7d  2020-01-01 22:24:12  debian                  last snapshot  /home/frank
    890c2add  2020-01-01 22:24:45  debian                  last snapshot  /home/frank
    ---------------------------------------------------------------------------------
    3 snapshots
    
    remove 82 snapshots:
    ID        Time                 Host        Tags        Paths
    ------------------------------------------------------------------
    547bbf63  2019-07-13 13:52:41  debian                  /home/frank
    8c54e557  2019-07-14 21:00:04  debian                  /home/frank
    59f2e7cd  2019-07-14 21:17:16  debian                  /home/frank
    152b78dc  2019-07-15 16:30:01  debian                  /home/frank
    30423779  2019-07-17 16:30:01  debian                  /home/frank
    3c1dd11e  2019-07-18 16:30:01  debian                  /home/frank
    3c0b0b9f  2019-07-23 16:30:01  debian                  /home/frank
    78c9babb  2019-07-24 16:30:01  debian                  /home/frank
    214fce77  2019-07-25 16:30:01  debian                  /home/frank
    f0413c59  2019-07-29 16:30:01  debian                  /home/frank
    05d005ba  2019-08-01 16:30:01  debian                  /home/frank
    fdda7d9a  2019-08-05 16:30:01  debian                  /home/frank
    d19ab972  2019-08-06 16:30:01  debian                  /home/frank
    ea0070d1  2019-08-07 16:30:01  debian                  /home/frank
    bc4e7164  2019-08-08 16:30:01  debian                  /home/frank
    55257134  2019-08-12 16:30:01  debian                  /home/frank
    6fad57b4  2019-08-13 16:30:01  debian                  /home/frank
    4e7d91c2  2019-08-14 16:30:01  debian                  /home/frank
    383eb63c  2019-08-20 16:30:01  debian                  /home/frank
    7bed05ed  2019-08-21 16:30:01  debian                  /home/frank
    d7d62461  2019-08-22 16:30:01  debian                  /home/frank
    341729ae  2019-08-26 16:30:01  debian                  /home/frank
    10a17d9e  2019-08-27 16:30:01  debian                  /home/frank
    08d0c934  2019-08-28 16:30:01  debian                  /home/frank
    39fef49d  2019-08-29 16:30:02  debian                  /home/frank
    6a5a6c6a  2019-09-02 16:30:02  debian                  /home/frank
    892a73e9  2019-09-03 16:30:01  debian                  /home/frank
    1621d218  2019-09-04 16:30:01  debian                  /home/frank
    0f13ec94  2019-09-05 16:30:01  debian                  /home/frank
    2ab03ea2  2019-09-09 16:30:02  debian                  /home/frank
    6e6bb1d2  2019-09-10 16:30:01  debian                  /home/frank
    d0df744f  2019-09-12 16:30:01  debian                  /home/frank
    66d34a4c  2019-09-16 16:30:01  debian                  /home/frank
    513e4090  2019-09-17 16:30:01  debian                  /home/frank
    4675ef07  2019-09-18 16:30:01  debian                  /home/frank
    75e5290e  2019-09-19 16:30:01  debian                  /home/frank
    0a619aca  2019-09-23 16:30:01  debian                  /home/frank
    834e50ad  2019-09-24 16:30:01  debian                  /home/frank
    5899f401  2019-09-25 16:30:01  debian                  /home/frank
    5ed350cf  2019-09-26 16:30:01  debian                  /home/frank
    e0848166  2019-09-30 16:30:01  debian                  /home/frank
    148a19f8  2019-10-01 16:30:01  debian                  /home/frank
    c7aa33cd  2019-10-02 16:30:01  debian                  /home/frank
    557ee95e  2019-10-03 16:30:02  debian                  /home/frank
    d1f9ffe3  2019-10-07 16:30:01  debian                  /home/frank
    d9464528  2019-10-08 16:30:01  debian                  /home/frank
    b7ec22d4  2019-10-14 16:30:01  debian                  /home/frank
    1cebe876  2019-10-15 16:30:01  debian                  /home/frank
    787f6f23  2019-10-16 16:30:01  debian                  /home/frank
    7aeff7b5  2019-10-17 16:30:01  debian                  /home/frank
    8aeff344  2019-10-21 16:30:01  debian                  /home/frank
    01c9695e  2019-10-22 16:30:01  debian                  /home/frank
    1c18211b  2019-10-23 16:30:01  debian                  /home/frank
    5ec81cd1  2019-10-28 16:30:01  debian                  /home/frank
    d19355f6  2019-10-29 16:30:01  debian                  /home/frank
    9c53dc9e  2019-10-30 16:30:02  debian                  /home/frank
    9238a4f6  2019-10-31 16:30:01  debian                  /home/frank
    47b567c7  2019-11-07 22:17:23  debian                  /home/frank
    a1c5ab4a  2019-11-18 16:30:01  debian                  /home/frank
    c566f59e  2019-11-19 16:30:01  debian                  /home/frank
    a83b4a1a  2019-11-20 16:30:02  debian                  /home/frank
    84028c08  2019-11-21 16:30:01  debian                  /home/frank
    6c92a4a3  2019-11-25 16:30:01  debian                  /home/frank
    3a1df8ea  2019-11-28 16:30:01  debian                  /home/frank
    168e08d9  2019-12-02 16:30:01  debian                  /home/frank
    502aa14f  2019-12-03 16:30:01  debian                  /home/frank
    f2d3bf69  2019-12-04 16:30:01  debian                  /home/frank
    c1ef8f2e  2019-12-05 16:30:01  debian                  /home/frank
    c4128591  2019-12-09 16:30:01  debian                  /home/frank
    360dbcf2  2019-12-10 16:30:01  debian                  /home/frank
    ff0369fa  2019-12-11 16:30:01  debian                  /home/frank
    537df8a1  2019-12-12 16:30:01  debian                  /home/frank
    4886b46e  2019-12-16 16:30:01  debian                  /home/frank
    8f6530b2  2019-12-17 16:30:01  debian                  /home/frank
    c45d800b  2019-12-18 16:30:01  debian                  /home/frank
    f193bf67  2019-12-19 16:30:01  debian                  /home/frank
    e60a0ee7  2019-12-23 16:30:01  debian                  /home/frank
    a1a361c5  2019-12-24 16:30:01  debian                  /home/frank
    5b72c58a  2019-12-25 16:30:01  debian                  /home/frank
    e009d9e0  2019-12-26 16:30:01  debian                  /home/frank
    c2c01520  2019-12-31 16:30:01  debian                  /home/frank
    9c507ee2  2020-01-01 16:30:01  debian                  /home/frank
    ------------------------------------------------------------------
    82 snapshots
    
    82 snapshots have been removed, running prune
    counting files in repo
    building new index for repo
    [1:10] 100.00%  9379 / 9379 packs
    repository contains 9379 packs (77094 blobs) with 42.730 GiB
    processed 77094 blobs: 0 duplicate blobs, 0 B duplicate
    load all snapshots
    find data that is still in use for 3 snapshots
    [0:00] 100.00%  3 / 3 snapshots
    found 28102 of 77094 data blobs still in use, removing 48992 blobs
    will remove 0 invalid files
    will delete 3080 packs and rewrite 1674 packs, this frees 17.605 GiB
    [2:16] 100.00%  1674 / 1674 packs rewritten
    counting files in repo
    [0:00] 100.00%  5121 / 5121 packs
    finding old index files
    saved new indexes as [0b4a656c 3d642b8d]
    remove 86 old index files
    [0:01] 100.00%  4754 / 4754 packs deleted
    done
    

    Ordnergröße danach

    root@debian:~# du -hs /media/1TB/Restic/Home_Debian/
    26G	/media/1TB/Restic/Home_Debian/
    

    wird noch überarbeitet, nur mal kurz hier reingeschmissen

  • Ich habe mich damit noch ein wenig beschäftigt, die letzten drei zu behalten, ist nicht so optimal. Da es viele Optionen bei dem Befehl gibt, hier ein Ausschnitt

    Flags:
      -l, --keep-last n            keep the last n snapshots
      -H, --keep-hourly n          keep the last n hourly snapshots
      -d, --keep-daily n           keep the last n daily snapshots
      -w, --keep-weekly n          keep the last n weekly snapshots
      -m, --keep-monthly n         keep the last n monthly snapshots
      -y, --keep-yearly n          keep the last n yearly snapshots
    

    habe ich das ein wenig so angepasst, das ich denke es passt für mich.

    restic --password-file /root/passwd -r /media/NAS_neu/Restic/Home/ forget --keep-last 3 --keep-monthly 3 --prune
    

    Damit behalte ich auch die jeweils eines pro Monat. Und die letzten drei. Das sieht dann so aus.

    root@debian:~# ./backup2.sh 
    repository 2f3f6147 opened successfully, password is correct
    
    Files:          38 new,   100 changed, 13268 unmodified
    Dirs:            0 new,     1 changed,     0 unmodified
    Added to the repo: 10.166 GiB
    
    processed 13406 files, 50.324 GiB in 3:24
    snapshot 849f614c saved
    repository 2f3f6147 opened successfully, password is correct
    Applying Policy: keep the last 3 snapshots, 3 monthly snapshots
    snapshots for (host [debian], paths [/home/frank]):
    
    keep 5 snapshots:
    ID        Time                 Host        Tags        Reasons           Paths
    ------------------------------------------------------------------------------------
    a7251cfd  2019-11-28 17:00:01  debian                  monthly snapshot  /home/frank
    283d4027  2019-12-31 17:00:01  debian                  monthly snapshot  /home/frank
    ae2b96ec  2020-01-01 21:47:46  debian                  last snapshot     /home/frank
    079e00a6  2020-01-02 17:00:01  debian                  last snapshot     /home/frank
    849f614c  2020-01-03 21:08:45  debian                  last snapshot     /home/frank
                                                           monthly snapshot
    ------------------------------------------------------------------------------------
    5 snapshots
    
    remove 26 snapshots:
    ID        Time                 Host        Tags        Paths
    ------------------------------------------------------------------
    896f16c2  2019-11-07 22:23:40  debian                  /home/frank
    b21bcf6d  2019-11-11 17:00:01  debian                  /home/frank
    f89248fb  2019-11-12 17:00:01  debian                  /home/frank
    123ab546  2019-11-13 17:00:01  debian                  /home/frank
    b82d87d0  2019-11-18 17:00:01  debian                  /home/frank
    040b0ab7  2019-11-19 17:00:01  debian                  /home/frank
    7221d8ef  2019-11-20 17:00:01  debian                  /home/frank
    84132a25  2019-11-21 17:00:01  debian                  /home/frank
    b558a52c  2019-11-25 17:00:01  debian                  /home/frank
    e5cc0c3e  2019-12-02 17:00:01  debian                  /home/frank
    22423fa5  2019-12-03 17:00:01  debian                  /home/frank
    39df1ab9  2019-12-04 17:00:01  debian                  /home/frank
    98843457  2019-12-05 17:00:01  debian                  /home/frank
    b0cdd4b6  2019-12-09 17:00:01  debian                  /home/frank
    828414f9  2019-12-10 17:00:01  debian                  /home/frank
    e34a27c3  2019-12-11 17:00:01  debian                  /home/frank
    6e488c3b  2019-12-12 17:00:01  debian                  /home/frank
    17898403  2019-12-16 17:00:01  debian                  /home/frank
    1973305a  2019-12-17 17:00:01  debian                  /home/frank
    9553bedd  2019-12-18 17:00:01  debian                  /home/frank
    fedf749d  2019-12-19 17:00:01  debian                  /home/frank
    8e7cb876  2019-12-23 17:00:01  debian                  /home/frank
    0bd0d102  2019-12-25 17:00:01  debian                  /home/frank
    13d348b0  2019-12-26 17:00:01  debian                  /home/frank
    c7d960aa  2019-12-30 17:00:01  debian                  /home/frank
    f6ea9118  2020-01-01 17:00:01  debian                  /home/frank
    ------------------------------------------------------------------
    26 snapshots
    
    26 snapshots have been removed, running prune
    counting files in repo
    building new index for repo
    [0:35] 100.00%  7806 / 7806 packs
    repository contains 7806 packs (46537 blobs) with 41.110 GiB
    processed 46537 blobs: 0 duplicate blobs, 0 B duplicate
    load all snapshots
    find data that is still in use for 5 snapshots
    [0:01] 100.00%  5 / 5 snapshots
    found 32654 of 46537 data blobs still in use, removing 13883 blobs
    will remove 0 invalid files
    will delete 715 packs and rewrite 752 packs, this frees 5.027 GiB
    [2:28] 100.00%  752 / 752 packs rewritten
    counting files in repo
    [0:01] 100.00%  6571 / 6571 packs
    finding old index files
    saved new indexes as [d137b425 f7caee99 a6e9711a]
    remove 35 old index files
    [1:13] 100.00%  1467 / 1467 packs deleted
    done
    using temporary cache in /tmp/restic-check-cache-916655151
    repository 2f3f6147 opened successfully, password is correct
    created new cache in /tmp/restic-check-cache-916655151
    create exclusive lock for repository
    load indexes
    check all packs
    check snapshots, trees and blobs
    read all data
    [7:47] 100.00%  6571 / 6571 items
    duration: 7:47
    no errors were found
    root@debian:~# 
    

    Am Ende seht ihr noch, wie Restic alle Files testet. Mein Script sieht jetzt so aus.

    #!/bin/bash
    # Script um mit Restic Daten automatisiert zu sichern!
    # Dient zum Sichern der Homepartition auf dem ROCKPro64 NAS!
    
    # Was soll gesichert werden?
    backup_pfad=/home/frank
    
    # Programm Start
    restic --password-file /root/passwd -r /media/NAS_neu/Restic/Home/ backup $backup_pfad --exclude-file=excludes.txt
    restic --password-file /root/passwd -r /media/NAS_neu/Restic/Home/ forget --keep-last 3 --keep-monthly 3 --prune
    
    # Testen
    restic --password-file /root/passwd -r /media/NAS_neu/Restic/Home/ check --read-data
    

    Das dann schön mit einem Cronjob laufen lassen und die Datensicherung ist erledigt 😉

  • Samba Installation - Server & Client

    Linux
    1
    0 Stimmen
    1 Beiträge
    77 Aufrufe
    Niemand hat geantwortet
  • RISC-V

    VisionFive 2
    1
    0 Stimmen
    1 Beiträge
    84 Aufrufe
    Niemand hat geantwortet
  • Manjaro KDE Plasma 21.2.2

    Linux
    5
    0 Stimmen
    5 Beiträge
    180 Aufrufe
    FrankMF

    Ok, geht nicht. Manjaro und ich werden leider keine Freunde. Da sind zu viele Dinge, die nicht besonders gut umgesetzt sind. Heute mal den Test gemacht und mein geliebtes Linux Mint Cinnamon installiert.

    Passwort für die Verschlüsselung nimmt anstandslos deutsche Sonderzeichen an WiFi geht auch nicht mit WPA3, man kann aber einfach auf WPA2 umstellen und das funktioniert.

    Damit endet dieser Versuch jetzt..

  • VSCodium - Meldungen trailing-whitespaces

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

    Restic UI
    2
    0 Stimmen
    2 Beiträge
    223 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 ☺

  • LUKS verschlüsselte Platte mounten

    Linux
    2
    0 Stimmen
    2 Beiträge
    964 Aufrufe
    FrankMF

    So, jetzt das ganze noch einen Ticken komplizierter 🙂

    Ich habe ja heute, für eine Neuinstallation von Ubuntu 20.04 Focal eine zweite NVMe SSD eingebaut. Meinen Bericht zu dem Thema findet ihr hier. Aber, darum soll es jetzt hier nicht gehen.

    Wir haben jetzt zwei verschlüsselte Ubuntu NVMe SSD Riegel im System. Jetzt klappt die ganze Sache da oben nicht mehr. Es kommt immer einen Fehlermeldung.

    unbekannter Dateisystemtyp „LVM2_member“.

    Ok, kurz googlen und dann findet man heraus, das es nicht klappen kann, weil beide LVM Gruppen, den selben Namen benutzen.

    root@frank-MS-7C37:/mnt/crypthome/root# vgdisplay --- Volume group --- VG Name vgubuntu2 System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 4 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 1 Max PV 0 Cur PV 1 Act PV 1 VG Size <464,53 GiB PE Size 4,00 MiB Total PE 118919 Alloc PE / Size 118919 / <464,53 GiB Free PE / Size 0 / 0 VG UUID lpZxyv-cNOS-ld2L-XgvG-QILa-caHS-AaIC3A --- Volume group --- VG Name vgubuntu System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 3 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 1 Act PV 1 VG Size <475,71 GiB PE Size 4,00 MiB Total PE 121781 Alloc PE / Size 121781 / <475,71 GiB Free PE / Size 0 / 0 VG UUID jRYTXL-zjpY-lYr6-KODT-u0LJ-9fYf-YVDna7

    Hier oben sieht man das schon mit geändertem Namen. Der VG Name muss unterschiedlich sein. Auch dafür gibt es ein Tool.

    root@frank-MS-7C37:/mnt/crypthome/root# vgrename --help vgrename - Rename a volume group Rename a VG. vgrename VG VG_new [ COMMON_OPTIONS ] Rename a VG by specifying the VG UUID. vgrename String VG_new [ COMMON_OPTIONS ] Common options for command: [ -A|--autobackup y|n ] [ -f|--force ] [ --reportformat basic|json ] Common options for lvm: [ -d|--debug ] [ -h|--help ] [ -q|--quiet ] [ -v|--verbose ] [ -y|--yes ] [ -t|--test ] [ --commandprofile String ] [ --config String ] [ --driverloaded y|n ] [ --nolocking ] [ --lockopt String ] [ --longhelp ] [ --profile String ] [ --version ] Use --longhelp to show all options and advanced commands.

    Das muss dann so aussehen!

    vgrename lpZxyv-cNOS-ld2L-XgvG-QILa-caHS-AaIC3A vgubuntu2 ACHTUNG Es kann zu Datenverlust kommen, also wie immer, Hirn einschalten!

    Ich weiß, das die erste eingebaute Platte mit der Nummer /dev/nvme0n1 geführt wird. Die zweite, heute verbaute, hört dann auf den Namen /dev/nvme1n1. Die darf ich nicht anpacken, weil sonst das System nicht mehr startet.

    /etc/fstab

    # /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # <file system> <mount point> <type> <options> <dump> <pass> /dev/mapper/vgubuntu-root / ext4 errors=remount-ro 0 1 # /boot was on /dev/nvme1n1p2 during installation UUID=178c7e51-a1d7-4ead-bbdf-a956eb7b754f /boot ext4 defaults 0 2 # /boot/efi was on /dev/nvme0n1p1 during installation UUID=7416-4553 /boot/efi vfat umask=0077 0 1 /dev/mapper/vgubuntu-swap_1 none swap sw 0 0

    Jo, wenn jetzt die Partition /dev/mapper/vgubuntu2-root / anstatt /dev/mapper/vgubuntu-root / heißt läuft nichts mehr. Nur um das zu verdeutlichen, auch das könnte man problemlos reparieren. Aber, ich möchte nur warnen!!

    Nachdem die Änderung durchgeführt wurde, habe ich den Rechner neugestartet. Puuh, Glück gehabt, richtige NVMe SSD erwischt 🙂

    Festplatte /dev/mapper/vgubuntu2-root: 463,58 GiB, 497754832896 Bytes, 972177408 Sektoren Einheiten: Sektoren von 1 * 512 = 512 Bytes Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes

    Nun können wir die Platte ganz normal, wie oben beschrieben, mounten. Nun kann ich noch ein paar Dinge kopieren 😉

  • Twitter-Beiträge in NodeBB anzeigen

    Verschoben NodeBB
    3
    0 Stimmen
    3 Beiträge
    347 Aufrufe
    FrankMF

    Endlich was gefunden um Twitter-Beiträge hier anzuzeigen. Beispiele siehe oben... YEAH

    Wie man das in NodeBB und dem Plugin nodebb-plugin-ns-embed einbaut, steht hier.
    https://community.nodebb.org/topic/7135/nodebb-plugin-ns-embed-ns-embed/39

  • Restic - Ein Backupkonzept - Automatisieren!

    Verschoben Restic
    1
    0 Stimmen
    1 Beiträge
    1k Aufrufe
    Niemand hat geantwortet