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