Backup script

OP #7205280
Lesenswert?

Guten Abend,

ich habe hier ein kleines Backup Script geschrieben, das mir jetzt schon 
eine Weile gute Dienste geleistet hat.
Es läuft unter bash, setzt auf tar und seinem incremental backup 
feature.
Die Idee war, etwas leicht durchschaubares, leicht an die eigenen 
Bedürfnisse anpassbares zu haben.

Es besteht aus einem backup und einem restore script. restore habe ich 
tatsächlich noch nicht wirklich eingesetzt - wer das ganze produktiv 
einsetzten will, sollte vielleicht ein bisschen mit ein paar Testdateien 
spielen.

Zu schade, das es in der Schublade versauert. Vielleicht kann es jemand 
brauchen.

Wenn jemand Fragen hat, gerne her damit. Und Bugs, die ganz sicher 
existieren, auch gerne an mich!

Schöne Grüße, Flo
Angehängte Dateien:
OP #7205662
Lesenswert?

Kevin M. schrieb:
> # right now, tar stores all directories even if the files inside are
> unchanged and not stored!
> # that is shitty, because it wastes a lot of space.. havent find a
> workaround right now..

Tatsächlich, diesen Kommentar habe ich geschrieben.. ist schon ein paar 
Jahre her. Es fällt mir gar nicht so leicht zu glauben, daß das wirklich 
so ist. Wobei man dazusagen muss, daß der Platzverbrauch für einen 
Directory-Eintrag nicht so hoch ist. Die nicht veränderten Dateien 
werden ja nicht gespeichert..
#7205704
Lesenswert?

Dem kann ich mich nur anschließen

>Ich benutze restic seit längerem und find es klasse

Als root:

mount /dev/sdX /mnt/sdX                    # Externe Disk mounten

mkdir -p /mnt/sdcX/BCKZBOOK                # Archive-Bereich auf ext. 
Disk festlegen

restic -p /dev/shm/p.txt -r /mnt/sdc/BCKZBOOK init   # Bereich mit 
restict initialisieren

restic -p /dev/shm/p.txt -r /mnt/sdc/BCKZBOOK --verbose backup 
/home/mw/Bilder  # Backup erstellen

Das File /dev/shm/p.txt hält temporär des Backup Passwort, damit es 
verschlüsselt wird.

Nach erfolgtem Backup ein check aufs Archive

restic -p /dev/shm/p.txt -r /mnt/sdc/BCKZBOOK --verbose check

Und eine Liste mit den Snapshots als Fiel um später zu wissen, wann man 
was gebackupt hat!

restic -p /dev/shm/p.txt -r /mnt/sdc/BCKZBOOK snapshots > 
restic_bck_mwzb17_snapshots_ssd2_20210614.txt

Fertig


Wenn man mal ein Backup abgebrochen hat, kann man den kaputen Inhalt
mit dem u.g. Kommando bereinigen.

restic -p /dev/shm/p.txt -r /mnt/sdc/BCKZBOOK --verbose prune
repository 31258ccd opened successfully, password is correct
loading indexes...
loading all snapshots...
finding data that is still in use for 279 snapshots
[0:56] 100.00%  279 / 279 snapshots
searching used packs...
collecting packs for deletion and repacking
will remove pack 5b8e2452 as it is unused and not indexed
...


Für restict muss eine go Installation vorhanden sein.


Wie man die Backups wieder zurückholt (ganz oder Dateiweise) ist
eine man page Fleißarbeit ;-)

Markus
#7205706
Lesenswert?

Borg komprimiert und dedupliziert die Daten automatisch. Bei Bedarf kann 
man das Backup auch verschlüsseln. Außerdem kümmert es sich automatisch 
im das löschen alter Archive. Das lässt sich vermutlich sogar Recht 
leicht in deinem Skript einbauen.

Man hat halt nicht eine Datei sondern einen Ordner mit den Archiven und 
bisschen was drum Rum, aber ob man jetzt einen Ordner oder eine Datei 
speichert ist ja eigentlich egal.
#7205712
Lesenswert?

Flo G. schrieb:
> Es fällt mir gar nicht so leicht zu glauben, daß das wirklich so ist.
> Wobei man dazusagen muss, daß der Platzverbrauch für einen
> Directory-Eintrag nicht so hoch ist.

Wenn du bei einem inkrementellen Backup alles nacheinander 
zurückspielst, hast du anschließend auch Files wieder an Bord, die 
längst gelöscht waren.

Um das zu vermeiden, kannst du bei jeder Directory eine Liste der zu 
diesem Zeitpunkt vorhandenen Inhalte mitführen und beim Restore 
überzählige Files und Dirs von Disk löschen.
OP #7206303
Lesenswert?

Peter Pan schrieb:
> Wozu das Rad neu erfinden?

Ist nicht wirklich in Rad, eher ein Gehstock: ist einfach, braucht nur 
Tar und sonst nichts. Für mich persönlich ist wichtig, daß es 
unkompliziert und möglichst wenig Magie unter der Haube hat. Einfach 
damit ich auch nach Jahren die Funktionsweise sofort nachvollziehen 
kann.

Aber ich habe gar nichts gegen die genannten Backuptools. Da sind einige 
wirklich sehr brauchbare dabei. Hätte ich die gekannt, dann hätte ich 
vermutlich davon eins benutzt.
#7315981
Lesenswert?

Um noch ein Tool in die Sammlung zu geben: Burp https://burp.grke.org Hat einen Client und eine Server-Komponente und kann dadurch auf Backups isolieren, also bei richtiger Konfiguration kommt der Client an einmal erstellte Backups nicht mehr ran. Hab damit gute Erfahrungen gemacht, wenn man ohnehin eine NAS hat. Weiterer Pluspunkt: Geht für Linux wie auch Windows als Client.

Gast #7316018
Lesenswert?

Flo G. schrieb:

Ist nicht wirklich in Rad, eher ein Gehstock: ist einfach, braucht nur Tar und sonst nichts. Für mich persönlich ist wichtig, daß es unkompliziert und möglichst wenig Magie unter der Haube hat. Einfach damit ich auch nach Jahren die Funktionsweise sofort nachvollziehen kann.

Ich nutze auch sehr gerne tar, meine Scripte sind noch kürzer

1
#!/bin/bash
2
echo
3
echo '     ***** ERST-Datensicherung auf /media/xxxxx/bak1 *****'
4
echo '     ***** Paierkorb geleert ? *****'
5
echo
6
rm -R /home/xxxxx/.cache
7
rm -R /home/xxxxx/.thumbnails
8
rm -R /home/xxxxx/.local/share/Trash
9
cd /media/xxxxx/bak1/
10
jetzt=$(date +%y%m%d-%H%M)
11
sudo tar -g filelist -cvpjf backup-$jetzt.tar.bzip2 ~/

und (ohne meine VMs, die werden von einem anderes Script gesichert)

1
#!/bin/bash
2
echo
3
echo '     ***** FOLGE-Datensicherung auf /media/xxxxx/bak1 *****'
4
echo '     ***** keine virtuellen Maschinen *.vdi *****'
5
echo '     ***** Paierkorb geleert ? *****'
6
echo
7
rm -R /home/xxxxx/.cache
8
rm -R /home/xxxxx/.thumbnails
9
rm -R /home/xxxxx/.local/share/Trash
10
cd /media/xxxxx/bak1/
11
jetzt=$(date +%y%m%d-%H%M)
12
sudo tar --exclude=*.vdi -g filelist -cvpjf backup-$jetzt.tar.bzip2 ~/

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren