# Backup System

# Automatische Backups

**Script:**```/usr/local/bin/nextcloud-backup.sh```

**Was wird gesichert?**
- Nextcloud-Daten
- Nextcloud-Datenbank
- Wireguard-Configs
- Caddy-Configs
- Fail2Ban-Configs

**Backup Ziel:** ```/mnt/hdd/backups```
- Zeitplan: Täglich 03:00 Uhr (Cronjob) 
- Retention: 7 Tage
- Telegram-Benachrichtigung nach jedem Backup

# Backup manuell starten

```bash
sudo /usr/local/bin/nextcloud-backup.sh
```

**Logs:**
```bash
tail -f  /var/log/nextcloud-backup.log
```
**Backups prüfen:**
```bash
ls -lh /mnt/hdd/backups/nextcloud-data/
ls -lh /mnt/hdd/backups/nextcloud-db/
du -sh /mnt/hdd/backups/
```

# Backup wiederherstellen

**Datenbank:**
```bash
BACKUP_FILE="/mnt/hdd/backups/nextcloud-db/nextcloud-db_2025-10-26_03-00-00.sql.gz"
gunzip < "$BACKUP_FILE" | docker exec -i nextcloud-db-1 mysql -u nextcloud -pdenode nextcloud
```

**Daten:**
```bash
docker stop nextcloud-app-1
sudo mv /nextcloud-data /nextcloud-data.old
sudo tar -xzf /mnt/hdd/backups/nextcloud-data/nextcloud-data_DATE.tar.gz -C /
sudo chown -R www-data:www-data /nextcloud-data
docker start nextcloud-app-1
```