Die REST Unterstützung ist komplett 🤓
Link Preview Image Not Found favicon(gitlab.com)
Ich denke, ein wenig Dokumentation wäre noch gut ☺
Es gibt in Restic mehrere Möglichkeiten, das Repository Passwort zu übergeben. Der normale Weg.
restic -r /tmp/repo backup /home/frank/Bilder
enter password for repository:
password is correct
Das Backup wird gestartet und man wird nach dem Repository Passwort gefragt. Für eine evt. Automatisierung ist das aber nicht so toll. Da Entwickler aber faul sind , hat man sich auch ein paar andere Dinge einfallen lassen.
restic -r /home/frank/b5 /home/frank/Bilder --password-file restic_pw.txt
oder
restic -r /home/frank/b5 backup /home/frank/Bilder --password-command SCRIPT
Das Passwort liegt dazu in einem File und wird mittels
--password-file
übergeben. Das Ergebnis sieht dann so aus.
frank@frank-MS-7C37:~$ restic -r /home/frank/b5 backup /home/frank/Bilder --password-file pw.txt
repository 87835251 opened successfully, password is correct
found 15 old cache directories in /home/frank/.cache/restic, run `restic cache --cleanup` to remove them
using parent snapshot 3171ef48
Files: 0 new, 0 changed, 160 unmodified
Dirs: 0 new, 2 changed, 14 unmodified
Added to the repo: 747 B
processed 160 files, 173.780 MiB in 0:00
snapshot 0f2b19e6 saved
#!/bin/sh
echo "123456"
Das wird dann mittels --password-command übergeben.
restic -r /home/frank/b5 backup /home/frank/Bilder --password-command /home/frank/test.sh
repository 87835251 opened successfully, password is correct
found 15 old cache directories in /home/frank/.cache/restic, run `restic cache --cleanup` to remove them
using parent snapshot 1b4adc5a
Files: 0 new, 0 changed, 160 unmodified
Dirs: 0 new, 2 changed, 14 unmodified
Added to the repo: 747 B
processed 160 files, 173.780 MiB in 0:00
snapshot 23677375 saved
Das obere Test Script habe ich mal verschlüsselt
gpg -c test.sh
Das Ergebnisfile heißt dann test.sh.gpg . Danach kann man dann das Test Script umschreiben.
#!/bin/sh
cd /tmp
gpg -d /home/frank/test.sh.gpg > schluessel.sh
chmod +x schluessel.sh
./schluessel.sh
rm schluessel.sh
Und wenn man jetzt das Restic Backup mit
restic -r /home/frank/b5 backup /home/frank/Bilder --password-command /home/frank/test.sh
aufruft, wird das PW aus dem verschlüsselten File benutzt.
frank@frank-MS-7C37:~$ restic -r /home/frank/b5 backup /home/frank/Bilder --password-command /home/frank/test.sh
gpg: AES256 verschlüsselte Daten
gpg: Verschlüsselt mit einer Passphrase
repository 87835251 opened successfully, password is correct
found 15 old cache directories in /home/frank/.cache/restic, run `restic cache --cleanup` to remove them
using parent snapshot d6226569
Files: 0 new, 0 changed, 160 unmodified
Dirs: 0 new, 2 changed, 14 unmodified
Added to the repo: 747 B
processed 160 files, 173.780 MiB in 0:00
snapshot 86ca3ca9 saved
Sollte der GPG Schlüsselbund nicht entsperrt sein, wird man nach seinem Passwort dafür gefragt.
In meinem Restic UI habe ich das wie folgt gelöst.
result = subprocess.run(['restic',
'-r',
backup_data[row].repository,
'backup',
backup_data[row].source],
input=pass_word.pw[0],
check=False,
capture_output=True,
text=True)
Eine Menge Möglichkeiten aus denen man anhand der Schwere seiner Datenparanoia auswählen kann