Installation unter Linux und macOS
Den Restow-Agent installieren Sie mit einem einzigen Befehl, den Restow für Sie erzeugt. Der Befehl trägt ein einmaliges Token, sodass Sie auf dem Rechner nie Zugangsdaten eintippen.
Voraussetzungen
Abschnitt betitelt „Voraussetzungen“Auf dem Rechner
- Linux: systemd, x86_64 oder aarch64, Root-Rechte (
sudo),curlsowiesha256sumodershasum. - macOS: macOS 13 (Ventura) oder neuer, Intel oder Apple Silicon, ein Administratorkonto (
sudo) undcurl. - HTTPS zu Restow. Der Rechner muss Ihre Restow-Instanz per HTTPS erreichen. Der Agent verbindet sich nur ausgehend. Ein eingehender Port wird weder gebraucht noch geöffnet.
- Eine richtige Uhrzeit. Zertifikatsprüfungen scheitern auf einem Rechner, dessen Uhr stark abweicht.
- Ein vertrauenswürdiges Zertifikat. Der Agent nutzt den Zertifikatsspeicher des Betriebssystems. Verwendet Ihre Instanz ein Zertifikat einer privaten Zertifizierungsstelle, muss diese CA in diesem Speicher liegen oder, unter Linux, in einer Datei, die
SSL_CERT_FILEnennt (siehe Proxy und private CA). Der Agent hat dafür keine eigene Einstellung.
In Restow
- Setzen Sie die öffentliche URL Ihrer Installation in den Einstellungen. Die Adresse im Installationsbefehl stammt daraus. Ist keine gesetzt, nimmt Restow die Adresse Ihres Browsers und warnt Sie, und der Rechner muss genau diese Adresse erreichen können.
- Verwenden Sie eine
https://-Adresse. Die Installationsskripte weisen eine Instanz mit reinemhttp://ab. Die Oberfläche warnt Sie vor einer unverschlüsselten Adresse, bevor Sie einen Rechner verbinden, weil das Token und die Geheimnisse des Agents unverschlüsselt übertragen würden.
Den Installationsbefehl erstellen
Abschnitt betitelt „Den Installationsbefehl erstellen“- Öffnen Sie in der Seitenleiste im Abschnitt Server-/Endpoint-Backup die Seite Server oder Clients (oder Agenten, die beide auflistet).
- Wählen Sie Neuer Server oder Neuer Client.
- Wählen Sie das Betriebssystem: Linux oder macOS. Windows wird als „Geplant“ angezeigt und lässt sich nicht wählen.
- Geben Sie dem Rechner optional einen Namen. Er wird in den Listen statt des Hostnamens angezeigt, und Sie können ihn später ändern.
- Wählen Sie Installationsbefehl erstellen und kopieren Sie den Befehl.
Das Fenster zeigt, wann sich der Rechner verbunden hat. Sie können es schließen und den Rechner später in der Liste finden.
Der Befehl wird nur einmal angezeigt, weil er das Token enthält. Haben Sie ihn verloren, erstellen Sie einen neuen. Befehle, die noch niemand verwendet hat, stehen unter Offene Anmeldungen, wo Sie sie widerrufen können.
Den Befehl ausführen
Abschnitt betitelt „Den Befehl ausführen“Führen Sie ihn auf dem Rechner aus, den Sie sichern wollen.
# Linuxcurl -fsSL https://<your instance>/install/linux.sh | sudo RESTOW_TOKEN='<token>' sh# macOScurl -fsSL https://<your instance>/install/macos.sh | sudo RESTOW_TOKEN='<token>' shRestow trägt die Adresse Ihrer Instanz und das Token ein, wenn es Ihnen den Befehl anzeigt.
Was das Skript tut
Abschnitt betitelt „Was das Skript tut“Das Skript liefert Ihre eigene Instanz aus, mit eingetragener Adresse und Agent-Version.
- Es erkennt die CPU-Architektur und lädt
restow-agent,resticundSHA256SUMSvon<instance>/install/agent/<version>/<os>-<arch>/. Die Dateien kommen von Ihrer Instanz, nicht aus dem Internet. - Es prüft beide Binärdateien gegen
SHA256SUMS. Stimmt eine Prüfsumme nicht, wird nichts installiert. - Es installiert
/usr/local/bin/restow-agentund/usr/local/lib/restow-agent/restic. - Es installiert und aktiviert den Dienst: die systemd-Unit
restow-agent.serviceunter Linux, den LaunchDaemoncom.restowbackup.agentunter macOS. - Es führt
restow-agent enrollaus. Das tauscht das Token gegen Zugangsdaten und prüft, dass die Instanz und das Backup-Repository sie annehmen. - Es startet den Dienst und gibt den Status aus.
Das Token
Abschnitt betitelt „Das Token“- Es ist 24 Stunden gültig und lässt sich einmal verwenden.
- Restow speichert nur einen SHA-256-Hash davon.
- Das Skript liest es nur aus der Umgebung. Es wird nie ausgegeben und nie auf die Platte geschrieben.
sudo RESTOW_TOKEN=... shlegt das Token in die Prozessliste des Rechners, solange der Befehl läuft. Andere Benutzer auf diesem Rechner könnten es in dieser Zeit sehen. Es verfällt nach der Benutzung, spätestens nach 24 Stunden.- Scheitert das Enrollment auf der Serverseite (zum Beispiel weil das Speicherziel nicht erreichbar ist), macht der Server alles rückgängig und gibt das Token wieder frei. Sie können denselben Befehl erneut ausführen. Auch eine ungültige Anfrage (zum Beispiel ein leerer Hostname) verbraucht das Token nicht.
Erneutes Ausführen ist sicher
Abschnitt betitelt „Erneutes Ausführen ist sicher“Sie können den Befehl jederzeit erneut ausführen. Er repariert oder aktualisiert die Installation an Ort und Stelle, behält ein vorhandenes Enrollment und installiert nie doppelt. Auf einem Rechner, der schon angemeldet ist, wird das Token nicht gebraucht.
macOS: Vollzugriff auf die Festplatte erteilen
Abschnitt betitelt „macOS: Vollzugriff auf die Festplatte erteilen“macOS schützt Schreibtisch, Dokumente, Downloads, iCloud Drive und weitere Ordner. Ohne Zugriff überspringt der Agent diese Dateien, das Backup endet als Teilweise, und das Lauf-Protokoll sagt das.
- Öffnen Sie System Settings > Privacy & Security > Full Disk Access. Die Bezeichnungen stehen hier englisch. In der deutschen Systemsprache heißen die Einträge entsprechend anders.
- Fügen Sie
/usr/local/bin/restow-agenthinzu. - Werden danach weiterhin geschützte Ordner gemeldet, fügen Sie zusätzlich
/usr/local/lib/restow-agent/restichinzu.
Das nächste Backup enthält diese Dateien dann.
Auf Macs, die über MDM verwaltet werden, verteilen Sie stattdessen ein Privacy Preferences Policy Control Profil. Es erteilt denselben Zugriff, ohne dass jemand durch die Systemeinstellungen klicken muss.
Den Status prüfen
Abschnitt betitelt „Den Status prüfen“Auf dem Rechner:
restow-agent statusDer Befehl zeigt den lokalen Zustand und braucht keine Root-Rechte. --json liefert dasselbe für Skripte. In Restow erscheint der Endpoint in der Liste, und sein Status wechselt nach dem ersten Kontakt auf Online.
Ein frisch angemeldeter Server wartet auf den nächsten geplanten Zeitpunkt. Um das erste Backup sofort zu starten, öffnen Sie den Endpoint in Restow und wählen Jetzt sichern. Der Rechner holt die Anfrage bei seinem nächsten Kontakt ab, meist innerhalb weniger Minuten.
Kommandozeile
Abschnitt betitelt „Kommandozeile“restow-agent enroll Enroll this machine (RESTOW_TOKEN and RESTOW_URL from the environment)restow-agent run The service main loop (what systemd / launchd execute)restow-agent status Local state, no root needed (--json for scripts)restow-agent backup-now Run one backup in the foreground (exit 0 ok, 3 partial, 1 failed)restow-agent service ... install | start | stop | restart | statusrestow-agent uninstall Remove the agent (--yes, --keep-logs)restow-agent version Version, commit, build date (--short for the number only)Die Ausgabe des Agents ist englisch. Zur Orientierung: enroll meldet den Rechner an, run ist die Hauptschleife des Dienstes, status zeigt den lokalen Zustand, backup-now führt ein Backup im Vordergrund aus (Exit-Code 0 erfolgreich, 3 teilweise, 1 fehlgeschlagen), service steuert den Dienst, uninstall entfernt den Agent, version zeigt die Version.
--debugoderRESTOW_DEBUG=1schaltet ausführliches Logging ein.enroll --forcemeldet den Rechner mit einem neuen Token erneut an. Der alte Endpoint bleibt in Restow, bis Sie ihn sperren. Siehe Deinstallation.enroll --allow-insecure-httpgibt es nur für die lokale Entwicklung. Die Installationsskripte verweigern es, außerRESTOW_ALLOW_INSECURE_HTTP=1ist gesetzt, und der Agent gibt jedes Mal eine Warnung aus.
Dateien
Abschnitt betitelt „Dateien“| Pfad | Inhalt |
|---|---|
/usr/local/bin/restow-agent, /usr/local/lib/restow-agent/restic |
Die Binärdateien. restow-agent.prev ist der vorherige Agent nach einem Update. |
/etc/restow-agent/state.json |
Enrollment: Instanz-URL, Endpoint-ID, Agent-Secret, Repository-URL und -Passwort. Modus 0600. |
/var/lib/restow-agent/status.json |
Laufzeitstatus für restow-agent status. Keine Geheimnisse. |
/var/lib/restow-agent/cache |
Der restic-Cache. Er enthält Metadaten des Repositorys, kann bei großen Repositorys auf einige GB wachsen und darf gelöscht werden. |
/var/lib/restow-agent/{tmp,restic-tmp,outbox} |
Temporäre Restore-Kopien, restic-Optionsdateien und Lauf-Berichte, die noch nicht zugestellt werden konnten. |
/var/log/restow-agent/agent.log |
Das Agent-Log, bei 5 MB rotiert, 3 Dateien bleiben erhalten. Unter Linux steht es auch im Journal. Unter macOS enthält launchd.log Absturzspuren. |
/etc/systemd/system/restow-agent.service |
Die systemd-Unit (Linux). |
/Library/LaunchDaemons/com.restowbackup.agent.plist |
Der LaunchDaemon (macOS). |
Proxy und private CA
Abschnitt betitelt „Proxy und private CA“Der Agent reicht Proxy-Einstellungen und ein privates CA-Bundle weiter, wenn sie in der Umgebung des Dienstes gesetzt sind. Die Variablen heißen HTTPS_PROXY, NO_PROXY und, unter Linux, SSL_CERT_FILE. Unter Linux setzen Sie sie mit einem systemd-Drop-in:
sudo systemctl edit restow-agentTragen Sie zum Beispiel ein:
[Service]Environment="HTTPS_PROXY=http://proxy.example.com:3128"Environment="NO_PROXY=localhost,127.0.0.1"Environment="SSL_CERT_FILE=/etc/ssl/certs/company-ca.pem"Starten Sie den Dienst danach neu:
sudo systemctl restart restow-agentEine private CA in den Zertifikatsspeicher des Betriebssystems aufzunehmen, ist der einfachere Weg, wenn Sie es können. Dieselben Variablen erreichen auch restic und Ihre Hooks, weil sie auf der kurzen Liste der Variablen stehen, die der Agent weitergibt.
Nach der Installation
Abschnitt betitelt „Nach der Installation“- Profile, Zeitplan und Hooks: festlegen, was gesichert wird und wann.
- Fehlerbehebung: wenn das Skript oder das erste Backup nicht funktioniert.