diff --git a/Readme.md b/Readme.md index 5fdcb82..5c23507 100644 --- a/Readme.md +++ b/Readme.md @@ -11,39 +11,34 @@ Führe folgende Befehle **als Root** aus: ```bash pacman -S restic rclone fuse jq curl - +``` 1.2 rclone als Root konfigurieren Da Restic das Repository über rclone anspricht, muss rclone als Root konfiguriert werden: -bash -Kopieren - +```bash sudo -i rclone config Folge den Anweisungen, um dein Cloud-Storage (z. B. Cloud.Michaelis.Digital) einzurichten. Wichtig: Teste die Verbindung mit: -bash -Kopieren - +```bash rclone lsd Cloud.Michaelis.Digital: - +``` 2. Repository klonen und Dateien ablegen 2.1 Repository klonen -bash -Kopieren +```bash git clone /opt/backup-config cd /opt/backup-config +``` 2.2 Dateien kopieren Kopiere die Konfigurationsdateien an die richtigen Orte: -bash -Kopieren +```bash # Service und Timer cp restic-backup.service /etc/systemd/system/ cp restic-backup.timer /etc/systemd/system/ @@ -51,105 +46,97 @@ cp restic-backup.timer /etc/systemd/system/ # Backup-Skript cp restic-backup /usr/local/bin/ chmod +x /usr/local/bin/restic-backup - +``` 3. Secrets anlegen 3.1 Restic-Passwortdatei Erstelle die Passwortdatei für Restic (nur für Root lesbar!): -bash -Kopieren +```bash mkdir -p /home/ratatoskr echo "DEIN_RESTIC_REPO_PASSWORT" > /home/ratatoskr/.restic-pass chmod 600 /home/ratatoskr/.restic-pass chown root\:root /home/ratatoskr/.restic-pass +``` 3.2 Umgebungsvariablen (optional) Falls du die Umgebungsvariablen global setzen willst (z. B. für manuelle Backups), füge folgende Zeilen zu /etc/environment hinzu: -ini -Kopieren +```Bash RESTIC_REPOSITORY=rclone\:Cloud.Michaelis.Digital\:backup-repo RESTIC_PASSWORD_FILE=/home/ratatoskr/.restic-pass +``` Lade die Variablen neu: -bash -Kopieren +```bash source /etc/environment - +``` 4. systemd aktivieren -bash -Kopieren +```bash systemctl daemon-reload systemctl enable --now restic-backup.timer systemctl enable restic-backup.service - +``` Status prüfen: -bash -Kopieren +```bash systemctl status restic-backup.timer journalctl -u restic-backup.service -f - - +``` 5. Backup-Repository initialisieren Falls das Repository noch nicht existiert: -bash -Kopieren +```bash restic -r rclone\:Cloud.Michaelis.Digital\:backup-repo init - +``` 6. Snapshots mounten (bei Bedarf) 6.1 Mount-Punkt erstellen -bash -Kopieren +```bash mkdir -p /mnt/restic +``` 6.2 Snapshot mounten (nur bei Bedarf) Umgebungsvariablen setzen: -bash -Kopieren +```bash export RESTIC_REPOSITORY=rclone\:Cloud.Michaelis.Digital\:backup-repo export RESTIC_PASSWORD_FILE=/home/ratatoskr/.restic-pass - +``` Snapshot suchen und mounten: -bash -Kopieren +```bash restic -r \$RESTIC_REPOSITORY --password-file \$RESTIC_PASSWORD_FILE snapshots restic -r \$RESTIC_REPOSITORY --password-file \$RESTIC_PASSWORD_FILE mount /mnt/restic-snapshot/ +``` Hinweis: Das Mounten erfolgt über FUSE und ist lazy – Daten werden erst bei Zugriff geladen. 6.3 Unmounten -bash -Kopieren +```bash fusermount -u /mnt/restic-snapshot - +``` 7. Wiederherstellung von Dateien 7.1 Einzelne Dateien wiederherstellen -bash -Kopieren +```bash restic -r rclone\:Cloud.Michaelis.Digital\:backup-repo restore --target /tmp/restore +``` 7.2 Vollständiges System wiederherstellen -bash -Kopieren +```bash restic -r rclone\:Cloud.Michaelis.Digital\:backup-repo restore --target / - +``` 8. Wichtige Hinweise @@ -159,9 +146,8 @@ Logs: Backup-Logs findest du in /var/log/restic-backup.log und im Journal (journ Benachrichtigungen: Das Skript sendet Updates an ntfy.michaelis.digital. Passe die URL und Credentials im Skript an. 9. Zusammenfassung der Befehle (Copy&Paste-freundlich) -bash -Kopieren +```bash # 1. Pakete installieren pacman -S restic rclone fuse jq curl @@ -190,7 +176,7 @@ systemctl enable restic-backup.service # 6. Repository initialisieren (falls neu) restic -r rclone\:Cloud.Michaelis.Digital\:backup-repo init - +``` Hinweise zur Nutzung: