Restic client auf 64 Bit Linux installieren
Restic [1] ist ein in Go geschriebenes Backup-Tool für die Kommandozeile … oder zum Skripten. Es besteht aus einem einzigen Binary und hat keinerlei Abhängigkeiten zu Libs, Paketen oder irgendwas. Es erzeugt dedulizierte Backups: initial wird ein Vollbackup gemacht und dann nie wieder - es braucht dann nur noch inkrementelle Backups. Restic gibt es für Windows/ Mac/ Linux und diverse Plattformen (BSD, Solaris, Mips, … - siehe Releases (dort etwas scrollen :-) [2]).
Das hat was.
Daheim werfe ich gerade einen Http-Server als Backup-Endpoint auf die Synology [3].
Auf Systeme am Institut habe ich grob 150 Linux-Systeme - mit altem und neuen Linux Varianten verschiedener Distributionen. Ich habe ein Bash Skript geschrieben, das mit wget das Binary des Restic Client holt, entpackt und ins /usr/bin legt. Wer es für ein anderes OS oder Architektur braucht, müsste den Suffix “_linux_amd64” ersetzen … oder aber auch dynamisch machen (mit
uname -a
könnte man hinkommen).
#!/usr/bin/env bash # ------------------------------------------------------ # CONFIG # ------------------------------------------------------ resticversion=0.12.0 doLink=0 installdir=/usr/bin resticfile=restic_${resticversion}_linux_amd64 downloadfile=${resticfile}.bz2 downloadurl=https://github.com/restic/restic/releases/download/v${resticversion}/${downloadfile} # ------------------------------------------------------ # MAIN # ------------------------------------------------------ echo echo "##### INSTALL RESTIC CLIENT into $installdir #####" echo echo ----- DOWNLOAD if [ ! -f "${downloadfile}" ]; then wget -O "${downloadfile}.running" -S "${downloadurl}" && mv "${downloadfile}.running" "${downloadfile}" else echo SKIP download fi echo echo ----- UNCOMPRESS bzip2 -d "${downloadfile}" echo echo ----- INSTALL mv "${resticfile}" "${installdir}" chmod 755 "${installdir}/${resticfile}" rm -f "${installdir}/restic" 2>/dev/null test $doLink -eq 0 || ln -s "${installdir}/${resticfile}" "${installdir}/restic" test $doLink -eq 0 && mv "${installdir}/${resticfile}" "${installdir}/restic" echo echo ----- SELF-UPDATE restic self-update echo echo ----- RESULT: test $doLink -eq 0 || ls -l "${installdir}/${resticfile}" ls -l "${installdir}/restic" echo echo ----- CURRENT VERSION: restic version echo echo ----- DONE
weiterführende Links:
iPhone zurücksetzen ist doch nicht so einfach
Ich hatte vor mir: ein iPhone 5 mit slawischer Sprache A (und SIM-Karte dieses Landes) + ein Laptop mit Betriebssystem in slawischer Sprache B.
Das Ziel der Aktion war: Ich wollte das iPhone zurücksetzen: also Daten kicken und Betriebssystem auf Grundzustand.
Ich habe das aktuelle iTunes heruntergeladen und in der Sprache des Laptops installiert. iTunes wurde gestartet, das iPhone angeschlossen und selbiges wurde erkannt. Dann habe ich das zurücksetzen (=Wiederherstellen) gestartet - es erschien ein Dialog, es würden alle Daten gelöscht - kein Problem: genau das wollten wir ja. Dann dauert es eine halbe Stunde. Abschliessend wurde das iPhone gebootet.
Fertig. So dachte ich. Doch was war das? Das iPhone war nun … ich wollte es nicht glauben: es war deutsch!
Aber warum richtet iTunes ungefragt eine andere Sprache auf dem iPhone ein? Ich wollte keine andere Sprache! Es gab in iTunes keinen Hinweis, DASS er die Sprache des iPhones wechseln würde. Und es gab keinen Dialog zur Info geschweige denn zur Auswahl einer neuen System Sprache!
Ich wollte eigentlich das bestehende OS mit Beibehaltung der Installations-Sprache zurücksetzen.
MacOS-/ iPhone Besitzer und Apple Versteher werden sicher über mich lachen, was ich für einen DAU Fehler gemacht habe … aber nehmt mal keine Rücksicht auf eventuelle Mimositäten: kann mir jemand ganz und gar unverblümt erklären, was ich falsch gemacht habe?
Links:
Meine Mac OS Erfahrung - Dateien ausführen ganz einfach?
Ich kenne Unix/ Linux/ Windows seit etlichen Jahren.
Da sollte ein unixbasierter Mac mich doch auch schnell was starten lassen können…
Doch die Verschleierung des Systems ist für einen Nicht-Mac-User eine wahre Herausforderung. Dabei ist das, was ich wollte, scheinbar trivial: Ich habe hier eine Skript-Datei, die in der ersten Zeile (Shebang) die stinknormale Bourne-Shell als Interpreter für deren Ausführung enthält: “#!/bin/sh” steht dort. Und die Skriptdatei will ich ausführen….