Set Backup-Server Hostname: backup01.mbotechit.de
Ersetze alle {BACKUP_SERVER_HOSTNAME} Platzhalter mit dem finalen Hostname.
Aktualisiert:
- Kestra Workflows
- Dokumentation (README, GETTING_STARTED, ARCHITECTURE, SETUP_CHECKLIST)
- Ansible Inventory-Generierung
This commit is contained in:
parent
418da4356b
commit
b3ab22fe4e
|
|
@ -134,7 +134,7 @@ Das System automatisiert Backups aller in Netbox gekennzeichneten Systeme mit:
|
|||
▼
|
||||
┌──────────────────────────────────────────────────────────────┐
|
||||
│ BACKUP-SERVER │
|
||||
│ SSH: backup@{BACKUP_SERVER_HOSTNAME} │
|
||||
│ SSH: backup@backup01.mbotechit.de │
|
||||
│ Repos: /backup/repos/{hostname}/ │
|
||||
│ • Empfängt Borg Archive via SSH │
|
||||
│ • Speichert in lokalen Repositories │
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ source secrets.env
|
|||
|
||||
```bash
|
||||
# SSH zum zukünftigen Backup-Server
|
||||
ssh root@{BACKUP_SERVER_HOSTNAME}
|
||||
ssh root@backup01.mbotechit.de
|
||||
|
||||
# Ansible installieren
|
||||
apt update && apt install -y ansible
|
||||
|
|
@ -134,7 +134,7 @@ tail -f /var/log/mbo-backup/*.log
|
|||
|
||||
```bash
|
||||
# Auf Backup-Server
|
||||
ssh backup@{BACKUP_SERVER_HOSTNAME}
|
||||
ssh backup@backup01.mbotechit.de
|
||||
|
||||
# Zeige alle Borg Repos
|
||||
ls -la /backup/repos/
|
||||
|
|
@ -150,7 +150,7 @@ borg info /backup/repos/SERVERNAME
|
|||
|
||||
```bash
|
||||
# SSH auf Backup-Server
|
||||
ssh root@{BACKUP_SERVER_HOSTNAME}
|
||||
ssh root@backup01.mbotechit.de
|
||||
|
||||
# Manuelle Rclone Sync
|
||||
sudo -u backup rclone sync --progress \
|
||||
|
|
@ -178,7 +178,7 @@ Jetzt läuft das System automatisch täglich! 🚀
|
|||
```bash
|
||||
# Test SSH vom Client zum Backup-Server
|
||||
ssh -i /root/.ssh/mbo-backup-key.ed25519 \
|
||||
backup@{BACKUP_SERVER_HOSTNAME} "echo OK"
|
||||
backup@backup01.mbotechit.de "echo OK"
|
||||
|
||||
# Falls Fehler: SSH-Key regenerieren
|
||||
ssh-keygen -t ed25519 -N '' -f /root/.ssh/mbo-backup-key.ed25519
|
||||
|
|
|
|||
20
README.md
20
README.md
|
|
@ -21,11 +21,11 @@ Integriertes Backup-System basierend auf Netbox-Inventar, Kestra-Automation, Bor
|
|||
│ Backup-Clients (alle gekennzeichneten Systeme) │
|
||||
│ • Borg Backup-Script läuft täglich um 03:00 │
|
||||
│ • Docker Pre-Backup Hooks (MySQL, PostgreSQL, Volumes) │
|
||||
│ • SSH zu Backup-Server: backup@{BACKUP_SERVER_HOSTNAME} │
|
||||
│ • SSH zu Backup-Server: backup@backup01.mbotechit.de │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
↓
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ Backup-Server ({BACKUP_SERVER_HOSTNAME}) │
|
||||
│ Backup-Server (backup01.mbotechit.de) │
|
||||
│ Struktur: /backup/repos/{hostname}/ │
|
||||
│ • Zentrale Borg-Repositories pro Host │
|
||||
│ • SSH-Zugang nur für borg serve (restricted) │
|
||||
|
|
@ -71,7 +71,7 @@ cd backup-automation
|
|||
|
||||
```bash
|
||||
# SSH auf Backup-Server
|
||||
ssh root@{BACKUP_SERVER_HOSTNAME}
|
||||
ssh root@backup01.mbotechit.de
|
||||
|
||||
# Ansible Playbook ausführen
|
||||
ansible-playbook -i localhost, \
|
||||
|
|
@ -155,7 +155,7 @@ sudo -u backup rclone sync --progress /backup/repos hetzner:mbo-backups/producti
|
|||
### Borg Repository Status
|
||||
|
||||
```bash
|
||||
ssh backup@{BACKUP_SERVER_HOSTNAME}
|
||||
ssh backup@backup01.mbotechit.de
|
||||
borg list /backup/repos/SERVER_NAME
|
||||
borg info /backup/repos/SERVER_NAME::(latest-backup)
|
||||
```
|
||||
|
|
@ -172,7 +172,7 @@ ssh root@SERVER_NAME
|
|||
|
||||
# 2. Hole aktuelles Backup vom Backup-Server
|
||||
borg extract --progress \
|
||||
backup@{BACKUP_SERVER_HOSTNAME}:/backup/repos/SERVER_NAME::(latest) \
|
||||
backup@backup01.mbotechit.de:/backup/repos/SERVER_NAME::(latest) \
|
||||
/etc
|
||||
|
||||
# 3. Oder aus S3 (falls lokal nicht verfügbar)
|
||||
|
|
@ -183,11 +183,11 @@ rclone ls hetzner:mbo-backups/production/repos/SERVER_NAME/
|
|||
|
||||
```bash
|
||||
# Liste Backup-Archive
|
||||
borg list backup@{BACKUP_SERVER_HOSTNAME}:/backup/repos/SERVER_NAME
|
||||
borg list backup@backup01.mbotechit.de:/backup/repos/SERVER_NAME
|
||||
|
||||
# Extrahiere einzelne Datei
|
||||
borg extract \
|
||||
backup@{BACKUP_SERVER_HOSTNAME}:/backup/repos/SERVER_NAME::archive-name \
|
||||
backup@backup01.mbotechit.de:/backup/repos/SERVER_NAME::archive-name \
|
||||
path/to/file
|
||||
```
|
||||
|
||||
|
|
@ -195,7 +195,7 @@ borg extract \
|
|||
|
||||
```bash
|
||||
# Auf Backup-Server:
|
||||
ssh backup@{BACKUP_SERVER_HOSTNAME}
|
||||
ssh backup@backup01.mbotechit.de
|
||||
|
||||
# Finde den Export
|
||||
ls -la /var/backups/docker/*/
|
||||
|
|
@ -216,7 +216,7 @@ docker run --rm \
|
|||
```bash
|
||||
# Test SSH-Connection:
|
||||
ssh -i /root/.ssh/mbo-backup-key.ed25519 \
|
||||
backup@{BACKUP_SERVER_HOSTNAME} "echo OK"
|
||||
backup@backup01.mbotechit.de "echo OK"
|
||||
|
||||
# SSH-Keys neu generieren (falls nötig):
|
||||
ssh-keygen -t ed25519 -N '' -f /root/.ssh/mbo-backup-key.ed25519
|
||||
|
|
@ -226,7 +226,7 @@ ssh-keygen -t ed25519 -N '' -f /root/.ssh/mbo-backup-key.ed25519
|
|||
|
||||
```bash
|
||||
# Backup-Server:
|
||||
ssh backup@{BACKUP_SERVER_HOSTNAME}
|
||||
ssh backup@backup01.mbotechit.de
|
||||
borg check -v /backup/repos/SERVER_NAME
|
||||
borg repair /backup/repos/SERVER_NAME
|
||||
```
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
- [ ] 2+ CPUs
|
||||
- [ ] 4+ GB RAM
|
||||
- [ ] Großes Datenvolume (/backup mit genug Platz)
|
||||
- [ ] Hostname: `{BACKUP_SERVER_HOSTNAME}`
|
||||
- [ ] Hostname: `backup01.mbotechit.de`
|
||||
|
||||
- [ ] Hetzner S3 Credentials besorgen
|
||||
- [ ] Access Key ID
|
||||
|
|
@ -130,7 +130,7 @@
|
|||
|
||||
- [ ] Auf Backup-Server Repository prüfen:
|
||||
```bash
|
||||
ssh backup@{BACKUP_SERVER_HOSTNAME}
|
||||
ssh backup@backup01.mbotechit.de
|
||||
borg list /backup/repos/TEST_SERVER
|
||||
borg info /backup/repos/TEST_SERVER
|
||||
```
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ tasks:
|
|||
inventory += """
|
||||
[backup_clients:vars]
|
||||
ansible_python_interpreter=/usr/bin/python3
|
||||
backup_repo_server={BACKUP_SERVER_HOSTNAME}
|
||||
backup_repo_server=backup01.mbotechit.de
|
||||
backup_repo_base=/backup/repos
|
||||
"""
|
||||
|
||||
|
|
@ -114,7 +114,7 @@ backup_repo_base=/backup/repos
|
|||
ansible-playbook \
|
||||
-i {{ vars.ansible_inventory_file }} \
|
||||
ansible/playbooks/install-borg-client.yaml \
|
||||
-e "backup_repo_server={BACKUP_SERVER_HOSTNAME}" \
|
||||
-e "backup_repo_server=backup01.mbotechit.de" \
|
||||
-e "backup_repo_base=/backup/repos" \
|
||||
--diff
|
||||
|
||||
|
|
@ -130,7 +130,7 @@ backup_repo_base=/backup/repos
|
|||
cd /tmp/backup-automation
|
||||
|
||||
# SSH zum Backup-Server
|
||||
ssh -i ~/.ssh/id_ed25519 backup@{BACKUP_SERVER_HOSTNAME} << 'EOF'
|
||||
ssh -i ~/.ssh/id_ed25519 backup@backup01.mbotechit.de << 'EOF'
|
||||
source /home/backup/.bashrc
|
||||
|
||||
# Hole Device-Liste aus Netbox (nur Systems mit auto-backup TAG)
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
become: yes
|
||||
|
||||
vars:
|
||||
backup_repo_server: "{BACKUP_SERVER_HOSTNAME}"
|
||||
backup_repo_server: "backup01.mbotechit.de"
|
||||
backup_repo_base: "/backup/repos"
|
||||
backup_user: "backup"
|
||||
backup_ssh_key_path: "/root/.ssh/mbo-backup-key.ed25519"
|
||||
|
|
|
|||
Loading…
Reference in New Issue