1055 lines
33 KiB
Markdown
1055 lines
33 KiB
Markdown
# Kapitel 6 – Nextcloud (Premium)
|
||
|
||
## Einleitung
|
||
|
||
Bisher ist die Nextcloud vollständig eingerichtet und für den täglichen Einsatz bereit.
|
||
Im Premium-Kapitel erweitern wir dieses stabile Grundsystem um praktische Automatisierungen,
|
||
zusätzliche Leistungsoptimierungen und Komfortfunktionen, die den Betrieb langfristig vereinfachen.
|
||
|
||
Alle Erweiterungen bauen direkt auf deiner bestehenden Installation auf.
|
||
Du musst nichts neu einrichten, sondern ergänzt gezielt einzelne Funktionen,
|
||
damit deine Cloud im Alltag zuverlässiger arbeitet und sich viele Aufgaben selbst erledigen.
|
||
|
||
> [!NOTE]
|
||
> Premium bedeutet im UCC-Tutorial keine höhere Schwierigkeit.
|
||
> Es bleibt bei verständlichen Schritt-für-Schritt-Anleitungen, die direkt in deiner Umgebung funktionieren.
|
||
|
||
### Themen dieses Kapitels
|
||
|
||
1. **Automatische Sicherung der Datenbank und Konfiguration**
|
||
– tägliche Backups inklusive Protokollierung
|
||
|
||
2. **Automatische Löschung älterer Sicherungen**
|
||
– hält den Speicherplatz sauber, ohne manuelles Eingreifen
|
||
|
||
3. **Wiederherstellung eines Backups**
|
||
– komplette Rücksicherung der Instanz in wenigen Schritten
|
||
|
||
4. **Mail-Benachrichtigung bei Backup-Ergebnissen**
|
||
– automatische Info über erfolgreiche oder fehlerhafte Sicherungen
|
||
|
||
5. **php.ini- und www.conf-Tuning**
|
||
– höhere Performance, größere Uploads und längere Skriptlaufzeiten
|
||
|
||
6. **Redis-Optimierung**
|
||
– stabileres Locking, schnelleres Caching und geringere Latenz
|
||
|
||
7. **Externe Speicher-Mounts in Nextcloud**
|
||
– zusätzliche Laufwerke, Netzfreigaben oder externe Cloud-Speicher einbinden
|
||
|
||
8. **SFTP-Upload-Integration**
|
||
– automatisches Hochladen von Dateien in entfernte Server oder Container
|
||
|
||
9. **Preview-Cache optimieren**
|
||
– Vorschaugenerierung beschleunigen und Speicherverbrauch reduzieren
|
||
|
||
10. **Abschluss & Ergebnis**
|
||
– Übersicht aller Optimierungen, Routinen und Wartungstipps
|
||
|
||
👉 *Screenshot geeignet: Nextcloud-Dashboard mit aktivem Cron-Job und geöffnetem Systemstatus.*
|
||
|
||
---
|
||
|
||
## Automatische Sicherung der Datenbank und Konfiguration
|
||
|
||
Ein verlässliches Backup ist die wichtigste Grundlage für einen stabilen Nextcloud-Betrieb.
|
||
Ziel ist eine automatische tägliche Sicherung der Datenbank und Konfigurationsdateien –
|
||
vollständig ohne manuelle Eingriffe.
|
||
So bleiben alle Benutzer, Freigaben und Systemeinstellungen jederzeit wiederherstellbar.
|
||
|
||
### Ziel
|
||
|
||
- Automatische tägliche Sicherung der Datenbank und Konfiguration
|
||
- Speicherung der Backups mit Datum im Dateinamen
|
||
- Protokollierung des Ablaufs in einer Logdatei
|
||
- Keine Unterbrechung des laufenden Betriebs
|
||
|
||
> [!TIP]
|
||
> Die Sicherung läuft regelmäßig im Hintergrund und legt für jeden Tag ein separates Archiv an.
|
||
> Damit hast du jederzeit Zugriff auf ältere Stände, falls du versehentlich etwas gelöscht oder geändert hast.
|
||
|
||
### Sicherungsskript anlegen
|
||
|
||
Melde dich per SSH im Nextcloud-Container an und öffne den Editor:
|
||
|
||
```bash
|
||
nano /usr/local/bin/nextcloud_backup.sh
|
||
```
|
||
|
||
Füge den folgenden Inhalt ein:
|
||
|
||
```bash
|
||
#!/bin/bash
|
||
#
|
||
# nextcloud_backup.sh
|
||
# Erstellt ein tägliches Backup der Nextcloud-Datenbank und -Konfiguration
|
||
#
|
||
|
||
BACKUP_DIR="/mnt/hdd/nextcloud_backups"
|
||
DATE=$(date +'%Y-%m-%d_%H-%M')
|
||
DB_NAME="nextcloud"
|
||
DB_USER="nextcloud"
|
||
DB_PASS="DEIN_SICHERES_PASSWORT"
|
||
NC_PATH="/srv/nextcloud/app/nextcloud"
|
||
LOGFILE="/var/log/nextcloud_backup.log"
|
||
|
||
mkdir -p "$BACKUP_DIR"
|
||
|
||
echo "[$(date +'%d.%m.%Y %H:%M:%S')] Backup gestartet" >> "$LOGFILE"
|
||
|
||
# Datenbank sichern
|
||
pg_dump -U "$DB_USER" "$DB_NAME" > "$BACKUP_DIR/db_${DATE}.sql"
|
||
|
||
# Konfiguration und App-Verzeichnis sichern
|
||
tar -czf "$BACKUP_DIR/config_${DATE}.tar.gz" \
|
||
"$NC_PATH/config" \
|
||
"$NC_PATH/themes" \
|
||
"$NC_PATH/custom_apps"
|
||
|
||
echo "[$(date +'%d.%m.%Y %H:%M:%S')] Backup abgeschlossen" >> "$LOGFILE"
|
||
```
|
||
|
||
Datei speichern mit **STRG+O**, Enter, und mit **STRG+X** schließen.
|
||
Anschließend ausführbar machen:
|
||
|
||
```bash
|
||
chmod +x /usr/local/bin/nextcloud_backup.sh
|
||
```
|
||
|
||
> [!NOTE]
|
||
> Das Skript legt alle Backups unter `/mnt/hdd/nextcloud_backups` ab.
|
||
> Jedes Backup enthält eine Datenbanksicherung und die wichtigsten Konfigurationsdateien.
|
||
|
||
### Automatische Ausführung einrichten
|
||
|
||
Damit das Backup regelmäßig läuft, hinterlegen wir das Skript im Cron-Dienst des Containers.
|
||
|
||
```bash
|
||
crontab -e
|
||
```
|
||
|
||
Ganz unten einfügen:
|
||
|
||
```bash
|
||
0 3 * * * /usr/local/bin/nextcloud_backup.sh
|
||
```
|
||
|
||
> [!TIP]
|
||
> Diese Zeile führt das Backup täglich um **03:00 Uhr** aus.
|
||
> Du kannst den Zeitpunkt anpassen, z. B. `0 2 * * *` für 02:00 Uhr.
|
||
|
||
Speichern: **STRG+O**, Enter
|
||
Beenden: **STRG+X**
|
||
|
||
### Ergebnis prüfen
|
||
|
||
Nach der ersten Ausführung kannst du prüfen, ob das Backup funktioniert hat:
|
||
|
||
```bash
|
||
ls -lh /mnt/hdd/nextcloud_backups
|
||
```
|
||
|
||
Du solltest zwei neue Dateien sehen, z. B.:
|
||
|
||
```
|
||
db_2025-10-05_03-00.sql
|
||
config_2025-10-05_03-00.tar.gz
|
||
```
|
||
|
||
Das Protokoll kannst du mit folgendem Befehl anzeigen:
|
||
|
||
```bash
|
||
tail -n 20 /var/log/nextcloud_backup.log
|
||
```
|
||
|
||
> [!TIP]
|
||
> Wenn du die Sicherung sofort testen möchtest, führe das Skript einmal manuell aus:
|
||
> ```bash
|
||
> /usr/local/bin/nextcloud_backup.sh
|
||
> ```
|
||
> So siehst du direkt im Terminal, ob PostgreSQL und alle Pfade korrekt funktionieren.
|
||
|
||
👉 *Screenshot geeignet: Terminal mit Ausgabe von `ls -lh /mnt/hdd/nextcloud_backups` und `tail -n 20 /var/log/nextcloud_backup.log`.*
|
||
|
||
## Automatische Löschung älterer Sicherungen
|
||
|
||
Damit der Speicherplatz auf deiner Festplatte nicht durch alte Backups überläuft,
|
||
ergänzen wir das Sicherungsskript um eine automatische Löschfunktion.
|
||
Diese entfernt Sicherungen, die älter als eine bestimmte Anzahl von Tagen sind.
|
||
So bleibt der Backup-Ordner sauber, ohne dass du manuell eingreifen musst.
|
||
|
||
### Ziel
|
||
|
||
- Ältere Sicherungen automatisch löschen
|
||
- Zeitraum frei wählbar (z. B. 30 Tage)
|
||
- Log-Eintrag für jede gelöschte Datei
|
||
|
||
> [!TIP]
|
||
> 30 Tage sind ein bewährter Zeitraum, um genug Sicherungen vorzuhalten und trotzdem Speicherplatz zu sparen.
|
||
> Du kannst die Zahl aber jederzeit anpassen – sie ist direkt im Skript konfigurierbar.
|
||
|
||
### Skript anpassen
|
||
|
||
Öffne das Sicherungsskript erneut:
|
||
|
||
```bash
|
||
nano /usr/local/bin/nextcloud_backup.sh
|
||
```
|
||
|
||
Ergänze am Ende des Skripts folgende Zeilen **unterhalb** des letzten `echo`-Befehls:
|
||
|
||
```bash
|
||
# Alte Backups löschen (älter als 30 Tage)
|
||
find "$BACKUP_DIR" -type f -mtime +30 -print -delete >> "$LOGFILE" 2>&1
|
||
echo "[$(date +'%d.%m.%Y %H:%M:%S')] Alte Backups (älter als 30 Tage) gelöscht" >> "$LOGFILE"
|
||
```
|
||
|
||
Speichern mit **STRG+O**, Enter, und beenden mit **STRG+X**.
|
||
|
||
### Funktionsweise
|
||
|
||
- `find` durchsucht den Backup-Ordner nach Dateien, die älter als 30 Tage sind (`-mtime +30`).
|
||
- Diese Dateien werden gelöscht, und die Dateinamen werden im Log vermerkt.
|
||
- Der Befehl läuft jedes Mal mit, wenn das Backup gestartet wird.
|
||
|
||
> [!NOTE]
|
||
> Du kannst den Zeitraum flexibel anpassen – etwa `-mtime +14` für zwei Wochen
|
||
> oder `-mtime +60` für zwei Monate Aufbewahrungszeit.
|
||
> Achte darauf, dass der Befehl immer **am Ende** des Skripts steht,
|
||
> damit erst das neue Backup erstellt und danach aufgeräumt wird.
|
||
|
||
### Überprüfung
|
||
|
||
Um zu sehen, ob die Bereinigung funktioniert, kannst du sie manuell testen:
|
||
|
||
```bash
|
||
bash /usr/local/bin/nextcloud_backup.sh
|
||
```
|
||
|
||
Danach prüfst du das Log:
|
||
|
||
```bash
|
||
tail -n 20 /var/log/nextcloud_backup.log
|
||
```
|
||
|
||
Wenn dort Einträge wie
|
||
`Alte Backups (älter als 30 Tage) gelöscht`
|
||
erscheinen, funktioniert die Automatik korrekt.
|
||
|
||
👉 *Screenshot geeignet: Logdatei mit Hinweis auf gelöschte Backups und aktuelle Sicherung.*
|
||
|
||
## Wiederherstellung eines Backups
|
||
|
||
Eine Sicherung ist nur so gut, wie ihre Wiederherstellung funktioniert.
|
||
In diesem Abschnitt stellen wir sicher, dass du im Notfall deine komplette Nextcloud
|
||
– inklusive Datenbank, Konfiguration und App-Einstellungen – schnell und zuverlässig wiederherstellen kannst.
|
||
|
||
### Ziel
|
||
|
||
- Wiederherstellung der Nextcloud-Datenbank und Konfigurationsdateien
|
||
- Schritt-für-Schritt-Ablauf ohne Risiko
|
||
- Funktioniert sowohl nach Datenverlust als auch bei Migration auf neue Hardware
|
||
|
||
> [!IMPORTANT]
|
||
> Du kannst die Wiederherstellung jederzeit in einer Testumgebung üben.
|
||
> So weißt du im Ernstfall genau, welche Schritte nötig sind, und vermeidest Fehler unter Zeitdruck.
|
||
|
||
### Vorbereitung
|
||
|
||
1. **Nextcloud-Dienst stoppen**, damit keine Schreibvorgänge stattfinden:
|
||
```bash
|
||
systemctl stop nginx
|
||
systemctl stop php8.3-fpm
|
||
systemctl stop redis-server
|
||
systemctl stop postgresql
|
||
```
|
||
2. **Backup-Verzeichnis prüfen:**
|
||
```bash
|
||
ls -lh /mnt/hdd/nextcloud_backups
|
||
```
|
||
Wähle das gewünschte Sicherungsdatum, z. B. `db_2025-10-05_03-00.sql` und `config_2025-10-05_03-00.tar.gz`.
|
||
|
||
### Wiederherstellung der Datenbank
|
||
|
||
1. PostgreSQL starten:
|
||
```bash
|
||
systemctl start postgresql
|
||
```
|
||
2. Bestehende Datenbank löschen und neu anlegen:
|
||
```bash
|
||
su - postgres
|
||
psql -c "DROP DATABASE nextcloud;"
|
||
psql -c "CREATE DATABASE nextcloud;"
|
||
psql -c "GRANT ALL PRIVILEGES ON DATABASE nextcloud TO nextcloud;"
|
||
exit
|
||
```
|
||
3. Datenbankinhalt wiederherstellen:
|
||
```bash
|
||
psql -U nextcloud -d nextcloud < /mnt/hdd/nextcloud_backups/db_2025-10-05_03-00.sql
|
||
```
|
||
|
||
> [!NOTE]
|
||
> Wenn du mehrere Backups im Ordner hast, kannst du natürlich auch ein älteres Datum verwenden.
|
||
> Ersetze einfach den Dateinamen im Befehl durch die gewünschte Sicherung.
|
||
|
||
### Wiederherstellung der Konfiguration
|
||
|
||
1. Alte Konfiguration entfernen (optional, falls beschädigt):
|
||
```bash
|
||
rm -rf /srv/nextcloud/app/nextcloud/config
|
||
rm -rf /srv/nextcloud/app/nextcloud/themes
|
||
rm -rf /srv/nextcloud/app/nextcloud/custom_apps
|
||
```
|
||
2. Archiv entpacken:
|
||
```bash
|
||
tar -xzf /mnt/hdd/nextcloud_backups/config_2025-10-05_03-00.tar.gz -C /
|
||
```
|
||
Dadurch werden die gesicherten Ordner wieder an ihre ursprüngliche Position kopiert.
|
||
|
||
3. Berechtigungen prüfen:
|
||
```bash
|
||
chown -R www-data:www-data /srv/nextcloud/app/nextcloud
|
||
chmod -R 750 /srv/nextcloud/app/nextcloud
|
||
```
|
||
|
||
### Neustart der Dienste
|
||
|
||
Nach der Wiederherstellung startest du die Dienste wieder:
|
||
|
||
```bash
|
||
systemctl start redis-server
|
||
systemctl start php8.3-fpm
|
||
systemctl start nginx
|
||
```
|
||
|
||
> [!TIP]
|
||
> Wenn du möchtest, kannst du vor dem Neustart mit
|
||
> ```bash
|
||
> systemctl status nginx php8.3-fpm redis-server postgresql
|
||
> ```
|
||
> prüfen, ob alle Dienste fehlerfrei bereitstehen.
|
||
|
||
### Überprüfung
|
||
|
||
Öffne im Browser deine Nextcloud-URL, z. B.:
|
||
|
||
```
|
||
https://cloud.DEINE-DOMAIN.tld
|
||
```
|
||
|
||
Du solltest dich mit deinem bestehenden Benutzer anmelden können
|
||
und dieselben Dateien, Freigaben und Einstellungen wie vor dem Backup sehen.
|
||
|
||
> [!NOTE]
|
||
> Wenn der Login nicht sofort funktioniert, leere den Browser-Cache oder führe einen Neustart des Containers durch.
|
||
> Danach ist die Instanz wieder vollständig betriebsbereit.
|
||
|
||
👉 *Screenshot geeignet: Terminal mit erfolgreicher Datenbank-Wiederherstellung und Nextcloud-Login im Browser.*
|
||
|
||
## Mail-Benachrichtigung bei Backup-Ergebnissen
|
||
|
||
Nextcloud verfügt über eine eigene Mailfunktion, die Systemmeldungen und Benachrichtigungen automatisch verschicken kann.
|
||
Diese Funktion nutzen wir auch für die Information über erfolgreiche oder fehlgeschlagene Backups.
|
||
Damit entfällt die manuelle Prüfung der Logdateien – du wirst direkt per E-Mail informiert, wenn etwas schiefgeht.
|
||
|
||
### Ziel
|
||
|
||
- Automatische E-Mail-Benachrichtigung bei fehlerhaften oder erfolgreichen Backups
|
||
- Keine zusätzlichen Programme oder Konfigurationen außerhalb von Nextcloud
|
||
- Nutzung der integrierten SMTP-Funktion in der Weboberfläche
|
||
|
||
### Einrichtung in Nextcloud
|
||
|
||
1. **Anmelden als Administrator**
|
||
Melde dich in deiner Nextcloud unter
|
||
```
|
||
https://cloud.DEINE-DOMAIN.tld
|
||
```
|
||
mit deinem Admin-Konto an.
|
||
|
||
2. **Mail-Server öffnen**
|
||
Klicke oben rechts auf dein Profilbild → **Einstellungen** → **Verwaltung** → **Grundlegende Einstellungen**.
|
||
Scrolle bis zum Abschnitt **E-Mail-Server**.
|
||
|
||
3. **SMTP-Daten eintragen**
|
||
- Versandmethode: **SMTP**
|
||
- Verschlüsselung: **STARTTLS**
|
||
- Authentifizierung: aktivieren
|
||
- Absenderadresse: z. B. `nextcloud@DEINE-DOMAIN.tld`
|
||
- Benutzername und Passwort: Zugangsdaten deines Mailkontos
|
||
- SMTP-Server: z. B. `mail.DEINE-DOMAIN.tld`
|
||
- Port: **587**
|
||
|
||
👉 *Screenshot geeignet: Nextcloud-Einstellungen → E-Mail-Server mit ausgefüllten SMTP-Daten.*
|
||
|
||
4. **Testmail senden**
|
||
Klicke auf **E-Mail-Versand testen**.
|
||
Wenn alles funktioniert, erscheint die Meldung *„E-Mail erfolgreich gesendet.“*
|
||
|
||
> [!NOTE]
|
||
> Einige Mailanbieter – etwa Google, GMX oder Outlook – verlangen für externe Anwendungen ein **App-Passwort**,
|
||
> das du im Kundenportal generieren kannst.
|
||
> Trage in diesem Fall das App-Passwort statt deines normalen Logins ein.
|
||
|
||
### Aktivierung der Benachrichtigungen
|
||
|
||
Damit du über Systemereignisse informiert wirst:
|
||
|
||
1. Öffne in der Weboberfläche oben rechts das Glocken-Symbol (Benachrichtigungen).
|
||
2. Klicke unten auf **Einstellungen**.
|
||
3. Aktiviere **Systemmeldungen per E-Mail erhalten**.
|
||
|
||
Nextcloud verschickt dann automatisch eine Nachricht,
|
||
wenn Cronjobs oder interne Prozesse (wie das Backup-Skript) Fehler melden.
|
||
Damit bleibst du informiert, ohne externe Tools zu benötigen.
|
||
|
||
👉 *Screenshot geeignet: Benachrichtigungsmenü mit aktivierter Option „Systemmeldungen per E-Mail erhalten“.*
|
||
|
||
## php.ini- und www.conf-Tuning
|
||
|
||
Nextcloud arbeitet mit PHP-FPM – das bedeutet, dass alle Webanfragen durch einen PHP-Prozess laufen.
|
||
Damit große Uploads, wie z. B. VODs oder Projektarchive, problemlos übertragen werden können,
|
||
passen wir die wichtigsten PHP-Parameter an.
|
||
Das betrifft die Dateien **php.ini** (globale Werte) und **www.conf** (Prozesssteuerung).
|
||
|
||
> [!NOTE]
|
||
> Diese Optimierungen sind speziell für Systeme gedacht, die große Mediendateien verarbeiten.
|
||
> Sie verbessern Stabilität und Performance deutlich – ohne, dass du mehr Hardware benötigst.
|
||
|
||
### Ziel
|
||
|
||
- Große Datei-Uploads bis 50 GB ermöglichen
|
||
- PHP-Cache optimieren für schnellere Ladezeiten
|
||
- Parallelverarbeitung von Anfragen stabilisieren
|
||
|
||
### php.ini anpassen
|
||
|
||
Öffne die globale PHP-Konfiguration:
|
||
|
||
```bash
|
||
nano /etc/php/8.3/fpm/php.ini
|
||
```
|
||
|
||
Suche und passe folgende Parameter an:
|
||
|
||
```ini
|
||
upload_max_filesize = 50G
|
||
post_max_size = 50G
|
||
memory_limit = 2048M
|
||
max_execution_time = 7200
|
||
max_input_time = 7200
|
||
date.timezone = Europe/Berlin
|
||
|
||
opcache.enable = 1
|
||
opcache.memory_consumption = 256
|
||
opcache.max_accelerated_files = 20000
|
||
opcache.interned_strings_buffer = 16
|
||
opcache.validate_timestamps = 1
|
||
```
|
||
|
||
> [!TIP]
|
||
> Für Nextcloud ist es unkritisch, große Werte zu setzen –
|
||
> sie gelten nur, wenn tatsächlich große Dateien übertragen werden.
|
||
> `max_execution_time` und `max_input_time` sichern lange Uploads gegen Abbrüche ab.
|
||
|
||
Speichern: **STRG+O**, Enter
|
||
Beenden: **STRG+X**
|
||
|
||
---
|
||
|
||
### www.conf anpassen
|
||
|
||
Die Datei `www.conf` bestimmt, wie viele PHP-Prozesse gleichzeitig arbeiten dürfen.
|
||
Das ist wichtig, wenn viele Uploads oder Vorschaugenerierungen parallel laufen.
|
||
|
||
```bash
|
||
nano /etc/php/8.3/fpm/pool.d/www.conf
|
||
```
|
||
|
||
Passe folgende Werte an:
|
||
|
||
```ini
|
||
pm = dynamic
|
||
pm.max_children = 25
|
||
pm.start_servers = 5
|
||
pm.min_spare_servers = 3
|
||
pm.max_spare_servers = 10
|
||
pm.max_requests = 500
|
||
|
||
; Pfadvariable setzen (wichtig für OCC-Befehle)
|
||
env[PATH] = /usr/local/bin:/usr/bin:/bin
|
||
```
|
||
|
||
> [!NOTE]
|
||
> Diese Werte sind auf Container mit 8–16 GB RAM ausgelegt.
|
||
> Wenn du mehr Ressourcen hast, kannst du `pm.max_children` entsprechend erhöhen.
|
||
> Bei kleineren Containern (z. B. 4 GB RAM) ist ein Wert zwischen 10–15 sinnvoll.
|
||
|
||
Anschließend PHP-FPM neu laden:
|
||
|
||
```bash
|
||
systemctl reload php8.3-fpm
|
||
```
|
||
|
||
---
|
||
|
||
### Wirkung prüfen
|
||
|
||
1. Öffne in Nextcloud **Einstellungen → Verwaltung → Übersicht**.
|
||
2. Wenn keine Warnungen mehr zu Speicher- oder Upload-Limits erscheinen, greifen die neuen Werte.
|
||
3. Optional prüfen:
|
||
```bash
|
||
systemctl status php8.3-fpm
|
||
```
|
||
|
||
> [!TIP]
|
||
> Diese Optimierung wirkt sich nicht nur auf Uploads aus,
|
||
> sondern beschleunigt auch App-Installationen und Dateioperationen innerhalb von Nextcloud.
|
||
|
||
👉 *Screenshot geeignet: Nextcloud-Adminbereich mit angepassten PHP-Limits ohne Warnmeldungen.*
|
||
|
||
## Redis-Optimierung
|
||
|
||
Redis ist in Nextcloud der zentrale Zwischenspeicher für häufig genutzte Daten,
|
||
z. B. Session-Informationen, Datei-Locks und Cache-Einträge.
|
||
Dadurch entfällt bei jedem Seitenaufruf ein Großteil der Datenbankabfragen –
|
||
Nextcloud reagiert schneller und stabiler, besonders bei mehreren gleichzeitigen Zugriffen.
|
||
|
||
Im Free-Teil haben wir Redis bereits eingerichtet.
|
||
Hier optimieren wir seine Leistung und verhindern, dass alte Cache-Einträge unkontrolliert wachsen.
|
||
|
||
> [!NOTE]
|
||
> Diese Anpassungen sind besonders sinnvoll, wenn du mehrere Benutzer hast oder große Datenmengen mit häufigen Dateioperationen verarbeitest.
|
||
|
||
### Ziel
|
||
|
||
- Stabileres File-Locking und schnellerer Seitenaufbau
|
||
- Automatische Speicherbereinigung bei hohem Redis-Füllstand
|
||
- Kürzere Zugriffszeiten durch gezieltes Feintuning
|
||
|
||
---
|
||
|
||
### Redis-Konfiguration prüfen
|
||
|
||
Öffne die Redis-Konfiguration:
|
||
|
||
```bash
|
||
nano /etc/redis/redis.conf
|
||
```
|
||
|
||
Suche und ändere bzw. ergänze folgende Zeilen:
|
||
|
||
```ini
|
||
# Redis durch systemd verwalten lassen
|
||
supervised systemd
|
||
|
||
# Socket statt TCP-Port nutzen (schneller und sicherer)
|
||
unixsocket /var/run/redis/redis-server.sock
|
||
unixsocketperm 770
|
||
|
||
# Maximalen Speicherbedarf festlegen (Beispiel: 256 MB)
|
||
maxmemory 256mb
|
||
|
||
# Alte Schlüssel entfernen, wenn Speicher voll ist
|
||
maxmemory-policy allkeys-lru
|
||
|
||
# Hintergrund-Speicherung aktivieren
|
||
save 900 1
|
||
save 300 10
|
||
save 60 10000
|
||
```
|
||
|
||
> [!TIP]
|
||
> `maxmemory 256mb` ist ein stabiler Wert für Container mit 4–8 GB RAM.
|
||
> Wenn du viele gleichzeitige Benutzer hast, kannst du auf 512 MB erhöhen.
|
||
|
||
Speichern: **STRG+O**, Enter
|
||
Beenden: **STRG+X**
|
||
|
||
Redis neu starten:
|
||
|
||
```bash
|
||
systemctl restart redis-server
|
||
```
|
||
|
||
---
|
||
|
||
### Socket-Rechte prüfen
|
||
|
||
Redis kommuniziert mit Nextcloud über einen UNIX-Socket.
|
||
Damit Nextcloud darauf zugreifen darf, muss der Webserver-Benutzer (`www-data`) Mitglied der Redis-Gruppe sein:
|
||
|
||
```bash
|
||
usermod -aG redis www-data
|
||
systemctl restart php8.3-fpm
|
||
```
|
||
|
||
> [!NOTE]
|
||
> Diese Einstellung brauchst du nur einmal vorzunehmen.
|
||
> Sie bleibt auch nach einem Neustart erhalten.
|
||
|
||
---
|
||
|
||
### Redis-Status testen
|
||
|
||
Mit folgendem Befehl kannst du prüfen, ob Redis läuft und korrekt eingebunden ist:
|
||
|
||
```bash
|
||
redis-cli -s /var/run/redis/redis-server.sock ping
|
||
```
|
||
|
||
Die Ausgabe sollte lauten:
|
||
|
||
```
|
||
PONG
|
||
```
|
||
|
||
Wenn stattdessen eine Fehlermeldung erscheint (z. B. „Permission denied“),
|
||
stimmen die Socketrechte oder Gruppenmitgliedschaften noch nicht.
|
||
|
||
> [!TIP]
|
||
> In Nextcloud selbst kannst du unter
|
||
> **Einstellungen → Verwaltung → Übersicht**
|
||
> sehen, ob Redis erkannt wurde.
|
||
> Wenn dort keine Warnung zu „Transactional File Locking“ mehr erscheint, funktioniert alles korrekt.
|
||
|
||
👉 *Screenshot geeignet: Terminalausgabe mit „PONG“ und Nextcloud-Adminbereich ohne Redis-Warnmeldung.*
|
||
|
||
## Externe Speicher in Nextcloud einbinden
|
||
|
||
Nextcloud kann auch Daten anzeigen, die gar nicht im normalen Cloud-Ordner liegen.
|
||
So kannst du zum Beispiel deine Videodateien, Projektordner oder große Backups
|
||
auf einer zweiten Festplatte ablegen und trotzdem direkt in Nextcloud darauf zugreifen.
|
||
|
||
Das spart Speicher im Hauptordner und macht die Übersicht deutlich einfacher –
|
||
besonders, wenn du regelmäßig große Dateien (z. B. VODs) nutzt.
|
||
|
||
> [!NOTE]
|
||
> Du musst dafür keine neue Festplatte kaufen oder alles verschieben.
|
||
> Nextcloud kann vorhandene Ordner einfach **verlinken** und wie eigene Daten behandeln.
|
||
|
||
---
|
||
|
||
### Ziel
|
||
|
||
- Zusätzliche Ordner oder Laufwerke direkt in Nextcloud einbinden
|
||
- Zugriff über die normale Weboberfläche
|
||
- Freigabe oder Zugriff nur für bestimmte Nutzer möglich
|
||
|
||
---
|
||
|
||
### Schritt 1 – App „Externer Speicher“ aktivieren
|
||
|
||
1. Melde dich als Administrator in deiner Nextcloud an.
|
||
2. Klicke oben rechts auf dein Profilbild → **Apps**.
|
||
3. Wähle links den Bereich **Integration**.
|
||
4. Suche die App **„Externer Speicher“** und klicke auf **Aktivieren**.
|
||
|
||
👉 *Screenshot geeignet: Nextcloud-App-Übersicht mit aktivierter „Externer Speicher“-App.*
|
||
|
||
---
|
||
|
||
### Schritt 2 – Speicher hinzufügen
|
||
|
||
1. Klicke oben rechts wieder auf dein Profilbild → **Einstellungen**.
|
||
2. Scrolle links im Menü bis zum Bereich **Verwaltung → Externer Speicher**.
|
||
3. Klicke unten auf **Hinzufügen**.
|
||
4. Wähle im Feld **Ordnername** aus, wie der Speicher in Nextcloud heißen soll, z. B. `Videos`.
|
||
5. Im Feld **Speichertyp** wählst du:
|
||
- **Lokal** – wenn der Ordner im Container liegt (z. B. `/mnt/hdd/videos`)
|
||
- **SFTP** – wenn der Ordner auf einem anderen Server oder Container liegt
|
||
|
||
👉 *Screenshot geeignet: Maske „Externer Speicher hinzufügen“ mit ausgewähltem Typ „Lokal“.*
|
||
|
||
---
|
||
|
||
### Schritt 3 – Pfad oder Verbindung eintragen
|
||
|
||
**Für lokale Speicher:**
|
||
1. Öffne im Container ein Terminal.
|
||
2. Lege einen Ordner an, falls er noch nicht existiert:
|
||
```bash
|
||
mkdir -p /mnt/hdd/videos
|
||
chown -R www-data:www-data /mnt/hdd/videos
|
||
chmod 750 /mnt/hdd/videos
|
||
```
|
||
3. Trage in der Nextcloud-Weboberfläche bei **Pfad** genau diesen Ordner ein:
|
||
```
|
||
/mnt/hdd/videos
|
||
```
|
||
|
||
**Für SFTP (andere Server oder Container):**
|
||
1. Wähle in der Nextcloud-Maske als Typ **SFTP**.
|
||
2. Gib unter **Host** die IP-Adresse des Zielservers an (z. B. `10.0.0.10`).
|
||
3. Trage deinen **Benutzernamen** und das **Passwort** ein,
|
||
das du auf dem Zielsystem für den Zugriff verwendest.
|
||
4. Im Feld **Pfad** gibst du an, wo die Dateien dort liegen (z. B. `/srv/uploads`).
|
||
|
||
> [!TIP]
|
||
> Bei SFTP musst du nichts extra installieren – die Verbindung nutzt dieselbe Technik,
|
||
> die du auch bei WinSCP oder FileZilla verwendest.
|
||
|
||
---
|
||
|
||
### Schritt 4 – Zugriff testen
|
||
|
||
1. Öffne in Nextcloud den Bereich **Dateien**.
|
||
2. Du siehst jetzt einen neuen Ordner, z. B. `Videos`.
|
||
3. Öffne ihn – wenn der Zugriff funktioniert, kannst du Dateien sehen oder neue hinzufügen.
|
||
|
||
> [!NOTE]
|
||
> Wenn du die Meldung *„Speicher nicht verfügbar“* siehst,
|
||
> stimmt meist der Pfad oder der Benutzerzugriff im Container nicht.
|
||
> Prüfe im Terminal, ob der Ordner wirklich existiert
|
||
> und `www-data` der Besitzer ist:
|
||
> ```bash
|
||
> ls -ld /mnt/hdd/videos
|
||
> ```
|
||
|
||
👉 *Screenshot geeignet: Nextcloud-Dateiansicht mit geöffnetem Ordner „Videos“.*
|
||
|
||
---
|
||
|
||
### Schritt 5 – Rechte und Freigaben
|
||
|
||
In der Speicherverwaltung kannst du einstellen,
|
||
wer den neuen Speicher überhaupt sehen darf:
|
||
|
||
- **Alle Benutzer** – jeder sieht den Ordner in seiner Cloud
|
||
- **Nur bestimmte Gruppen oder Admins** – sinnvoll für sensible Daten
|
||
- **Schreibgeschützt** – erlaubt nur das Ansehen, keine Änderungen
|
||
|
||
> [!TIP]
|
||
> Wenn du mehrere Personen in deiner Nextcloud hast,
|
||
> lohnt sich die Gruppenzuweisung, damit jeder nur die passenden Ordner sieht.
|
||
|
||
## SFTP-Upload-Integration
|
||
|
||
Mit der SFTP-Integration kannst du Dateien automatisch von deiner Nextcloud auf einen anderen Server oder Container hochladen.
|
||
Das ist besonders praktisch, wenn du regelmäßig große Dateien sichern oder VODs automatisch auf einen Upload-Server verschieben willst –
|
||
zum Beispiel in deinen Archiv-Container, einen externen Speicher oder eine Produktionsumgebung.
|
||
|
||
> [!NOTE]
|
||
> SFTP steht für **Secure File Transfer Protocol** und überträgt Daten verschlüsselt –
|
||
> im Gegensatz zu FTP, das unverschlüsselt arbeitet.
|
||
> Du kannst also auch sensible Daten sicher verschieben.
|
||
|
||
---
|
||
|
||
### Ziel
|
||
|
||
- Automatisches Hochladen ausgewählter Dateien über SFTP
|
||
- Kein manuelles Kopieren mehr per WinSCP oder FileZilla
|
||
- Optional: Tägliche Synchronisierung mit einem anderen Server
|
||
|
||
---
|
||
|
||
### Schritt 1 – SSH-Schlüssel erstellen
|
||
|
||
Wir nutzen SSH-Schlüssel, damit der Upload ohne Passworteingabe funktioniert.
|
||
Öffne das Terminal im Nextcloud-Container:
|
||
|
||
```bash
|
||
ssh-keygen -t ed25519 -f /root/.ssh/id_ed25519 -C "nextcloud-auto-upload"
|
||
```
|
||
|
||
> Drücke einfach **Enter**, wenn nach einer Passphrase gefragt wird.
|
||
> Der Schlüssel besteht aus zwei Dateien:
|
||
> - `/root/.ssh/id_ed25519` → privater Schlüssel (bleibt im Container)
|
||
> - `/root/.ssh/id_ed25519.pub` → öffentlicher Schlüssel (wird auf dem Zielserver hinterlegt)
|
||
|
||
---
|
||
|
||
### Schritt 2 – Schlüssel auf Zielsystem hinterlegen
|
||
|
||
1. Melde dich auf dem Zielsystem (z. B. Archiv-Container oder externer Server) an.
|
||
2. Öffne dort die Datei:
|
||
```bash
|
||
nano ~/.ssh/authorized_keys
|
||
```
|
||
3. Füge den Inhalt der Datei `/root/.ssh/id_ed25519.pub` aus dem Nextcloud-Container ein.
|
||
4. Datei speichern (**STRG+O**, Enter, **STRG+X**) und schließen.
|
||
|
||
> [!TIP]
|
||
> Falls die Datei `authorized_keys` noch nicht existiert, wird sie automatisch erstellt.
|
||
> Achte darauf, dass sie dem Benutzer gehört, unter dem du dich verbindest.
|
||
|
||
---
|
||
|
||
### Schritt 3 – Verbindung testen
|
||
|
||
Zurück im Nextcloud-Container:
|
||
|
||
```bash
|
||
sftp user@10.0.0.10
|
||
```
|
||
|
||
Wenn du ohne Passwortabfrage verbunden wirst, funktioniert der Schlüsselzugriff.
|
||
Beende die Sitzung mit:
|
||
|
||
```bash
|
||
exit
|
||
```
|
||
|
||
👉 *Screenshot geeignet: Terminalausgabe mit erfolgreicher SFTP-Verbindung ohne Passwort.*
|
||
|
||
---
|
||
|
||
### Schritt 4 – Upload-Skript erstellen
|
||
|
||
Jetzt legen wir ein einfaches Skript an, das Dateien aus einem bestimmten Nextcloud-Ordner
|
||
(z. B. „Uploads“) automatisch auf das Zielsystem überträgt.
|
||
|
||
```bash
|
||
nano /usr/local/bin/nextcloud_sftp_upload.sh
|
||
```
|
||
|
||
Füge den folgenden Inhalt ein:
|
||
|
||
```bash
|
||
#!/bin/bash
|
||
#
|
||
# nextcloud_sftp_upload.sh
|
||
# Lädt Dateien aus dem Upload-Ordner per SFTP auf ein Zielsystem hoch
|
||
#
|
||
|
||
SOURCE="/mnt/hdd/nextcloud_data/admin/files/Uploads"
|
||
TARGET="user@10.0.0.10:/srv/archive"
|
||
LOGFILE="/var/log/nextcloud_sftp_upload.log"
|
||
|
||
echo "[$(date +'%d.%m.%Y %H:%M:%S')] Upload gestartet" >> "$LOGFILE"
|
||
|
||
# Hochladen aller neuen Dateien
|
||
sftp -q -b - "$TARGET" <<EOF
|
||
put -r "$SOURCE"/*
|
||
EOF
|
||
|
||
echo "[$(date +'%d.%m.%Y %H:%M:%S')] Upload abgeschlossen" >> "$LOGFILE"
|
||
```
|
||
|
||
Datei speichern und schließen (**STRG+O**, Enter, **STRG+X**)
|
||
Dann ausführbar machen:
|
||
|
||
```bash
|
||
chmod +x /usr/local/bin/nextcloud_sftp_upload.sh
|
||
```
|
||
|
||
---
|
||
|
||
### Schritt 5 – Automatische Ausführung planen
|
||
|
||
Damit die Dateien regelmäßig übertragen werden,
|
||
tragen wir das Skript im Cron-Dienst ein:
|
||
|
||
```bash
|
||
crontab -e
|
||
```
|
||
|
||
Am Ende hinzufügen:
|
||
|
||
```bash
|
||
30 2 * * * /usr/local/bin/nextcloud_sftp_upload.sh
|
||
```
|
||
|
||
> [!NOTE]
|
||
> Damit startet der Upload täglich um **02:30 Uhr**.
|
||
> Du kannst die Uhrzeit natürlich frei anpassen.
|
||
|
||
---
|
||
|
||
### Schritt 6 – Funktion testen
|
||
|
||
Starte das Skript manuell:
|
||
|
||
```bash
|
||
/usr/local/bin/nextcloud_sftp_upload.sh
|
||
```
|
||
|
||
Dann prüfe das Log:
|
||
|
||
```bash
|
||
tail -n 20 /var/log/nextcloud_sftp_upload.log
|
||
```
|
||
|
||
Wenn alles funktioniert, siehst du im Zielverzeichnis die hochgeladenen Dateien.
|
||
|
||
> [!TIP]
|
||
> Du kannst auch mehrere Zielsysteme eintragen,
|
||
> indem du die `sftp`-Befehle im Skript einfach duplizierst –
|
||
> z. B. für gleichzeitige Sicherung auf Archiv- und Backup-Server.
|
||
|
||
👉 *Screenshot geeignet: Terminal mit erfolgreichem Upload und Logauszug.*
|
||
|
||
## Preview-Cache optimieren
|
||
|
||
Nextcloud erzeugt für viele Dateitypen automatisch Vorschaubilder (Previews) –
|
||
zum Beispiel für Fotos, Videos oder PDFs.
|
||
Das ist praktisch, kann aber bei großen Medienbibliotheken schnell viel Rechenleistung und Speicherplatz verbrauchen.
|
||
Mit den richtigen Einstellungen lassen sich die Previews deutlich beschleunigen und besser kontrollieren.
|
||
|
||
> [!NOTE]
|
||
> Diese Optimierung ist besonders wichtig, wenn du viele hochauflösende Dateien nutzt –
|
||
> etwa VODs, Thumbnails oder große Bildergalerien.
|
||
|
||
---
|
||
|
||
### Ziel
|
||
|
||
- Vorschaugenerierung beschleunigen
|
||
- Speicherbedarf für Thumbnails reduzieren
|
||
- CPU-Last bei großen Datenmengen senken
|
||
|
||
---
|
||
|
||
### Schritt 1 – Preview-App prüfen
|
||
|
||
1. Melde dich als Administrator in deiner Nextcloud an.
|
||
2. Klicke oben rechts auf dein Profilbild → **Apps**.
|
||
3. Suche im Bereich **Multimedia** nach der App **Preview Generator**.
|
||
4. Wenn sie noch nicht aktiviert ist, klicke auf **Aktivieren**.
|
||
|
||
👉 *Screenshot geeignet: App-Übersicht mit aktivierter „Preview Generator“-App.*
|
||
|
||
> [!TIP]
|
||
> Die App ist offiziell von Nextcloud und in jeder Installation enthalten.
|
||
> Sie kümmert sich um die Erstellung und Verwaltung von Vorschaubildern.
|
||
|
||
---
|
||
|
||
### Schritt 2 – Standardwerte anpassen
|
||
|
||
Nextcloud erstellt standardmäßig viele verschiedene Vorschaustufen.
|
||
Das verlangsamt den Upload großer Dateien und kann mehrere Gigabyte Speicher belegen.
|
||
Wir begrenzen die Anzahl der Größen und definieren sinnvolle Maximalwerte.
|
||
|
||
Öffne die Konfiguration:
|
||
|
||
```bash
|
||
nano /srv/nextcloud/app/nextcloud/config/config.php
|
||
```
|
||
|
||
Füge (oder ergänze) diese Zeilen:
|
||
|
||
```php
|
||
'enabledPreviewProviders' => [
|
||
'OC\\Preview\\Image',
|
||
'OC\\Preview\\JPEG',
|
||
'OC\\Preview\\PNG',
|
||
'OC\\Preview\\GIF',
|
||
'OC\\Preview\\PDF',
|
||
'OC\\Preview\\MP3',
|
||
'OC\\Preview\\TXT',
|
||
'OC\\Preview\\Movie',
|
||
],
|
||
|
||
'preview_max_x' => 2048,
|
||
'preview_max_y' => 2048,
|
||
'preview_max_filesize_image' => 50,
|
||
```
|
||
|
||
> [!NOTE]
|
||
> Diese Werte sind ein guter Kompromiss:
|
||
> - Maximal 2048 × 2048 Pixel für Previews
|
||
> - Keine Vorschau für Bilder größer als 50 MB
|
||
> - Unterstützt nur häufig genutzte Dateitypen
|
||
|
||
Speichern und schließen (**STRG+O**, Enter, **STRG+X**).
|
||
|
||
---
|
||
|
||
### Schritt 3 – Preview-Cache automatisch erzeugen
|
||
|
||
Die Vorschauen lassen sich im Hintergrund generieren,
|
||
damit sie später sofort verfügbar sind.
|
||
Wir aktivieren dazu den Preview Generator als Cronjob.
|
||
|
||
```bash
|
||
crontab -u www-data -e
|
||
```
|
||
|
||
Ganz unten einfügen:
|
||
|
||
```bash
|
||
@daily php -f /srv/nextcloud/app/nextcloud/occ preview:generate-all -vvv
|
||
```
|
||
|
||
> [!TIP]
|
||
> Dadurch werden jeden Tag alle neu hochgeladenen Dateien automatisch verarbeitet.
|
||
> Beim ersten Lauf kann der Prozess länger dauern, da vorhandene Dateien nachgerendert werden.
|
||
|
||
---
|
||
|
||
### Schritt 4 – Preview-Cache aufräumen
|
||
|
||
Mit der Zeit sammeln sich viele alte Thumbnails an,
|
||
die für gelöschte Dateien gar nicht mehr gebraucht werden.
|
||
Wir bereinigen sie regelmäßig:
|
||
|
||
```bash
|
||
@weekly php -f /srv/nextcloud/app/nextcloud/occ preview:cleanup -n
|
||
```
|
||
|
||
So bleibt der Cache schlank und aktuell.
|
||
|
||
> [!NOTE]
|
||
> Beide Cronjobs laufen leise im Hintergrund.
|
||
> Du musst nichts weiter tun, die Previews bleiben immer aufgeräumt.
|
||
|
||
---
|
||
|
||
### Schritt 5 – Wirkung prüfen
|
||
|
||
1. Öffne in Nextcloud den Ordner mit vielen Bildern oder Videos.
|
||
2. Beim ersten Öffnen werden die Vorschaubilder schnell sichtbar, ohne lange Ladezeit.
|
||
3. Die Systemauslastung bleibt auch bei mehreren Dateien stabil.
|
||
|
||
👉 *Screenshot geeignet: Nextcloud-Dateiansicht mit geladenen Vorschaubildern ohne Verzögerung.*
|
||
|
||
> [!TIP]
|
||
> Wenn du häufig große Medien bearbeitest, lohnt es sich, den Cronjob nachts laufen zu lassen.
|
||
> So entstehen keine Performanceeinbußen während der Nutzung.
|
||
|
||
## Abschluss & Ergebnis
|
||
|
||
Mit den Erweiterungen aus diesem Kapitel ist deine Nextcloud nun vollständig automatisiert, optimiert und für den langfristigen Einsatz ausgelegt.
|
||
Sicherungen laufen automatisch, alte Backups werden bereinigt, und bei Bedarf kannst du jederzeit alles wiederherstellen.
|
||
Zudem sorgen die angepassten PHP- und Redis-Einstellungen für eine stabile Performance,
|
||
auch bei größeren Uploads, VOD-Dateien oder mehreren gleichzeitigen Zugriffen.
|
||
|
||
> [!NOTE]
|
||
> Alle Optimierungen greifen direkt in der bestehenden Installation.
|
||
> Du musst nichts neu installieren oder manuell starten – die Abläufe wiederholen sich automatisch über Cron.
|
||
|
||
### Zusammenfassung der Erweiterungen
|
||
|
||
| Bereich | Erweiterung | Ergebnis |
|
||
|----------|--------------|-----------|
|
||
| **Backup-Automatik** | Tägliche Sicherung von Datenbank & Konfiguration | Schutz vor Datenverlust |
|
||
| **Backup-Aufräumung** | Löscht Backups älter als 30 Tage | Spart Speicherplatz |
|
||
| **Wiederherstellung** | Vollständige Rücksicherung in wenigen Schritten | Einfache Fehlerbehebung |
|
||
| **Mail-Benachrichtigung** | Systeminterne SMTP-Einrichtung | E-Mail bei Problemen oder Erfolgen |
|
||
| **PHP-Tuning** | Erhöhte Limits und optimierter Cache | Stabile Performance, große Uploads |
|
||
| **Redis-Optimierung** | Schnellere Dateisperren und geringere DB-Last | Reaktionsschnellere Cloud |
|
||
| **Externe Speicher** | Zusätzliche Laufwerke oder Server einbinden | Mehr Flexibilität bei großen Daten |
|
||
| **SFTP-Upload** | Automatischer Export in andere Container | Sicherer Datentransfer |
|
||
| **Preview-Cache** | Schnellere Vorschau, geringerer Speicherverbrauch | Flüssigere Nutzung von Medienordnern |
|
||
|
||
### Routine-Checks (empfohlen)
|
||
|
||
1. **Logs prüfen**
|
||
- Backup-Log: `/var/log/nextcloud_backup.log`
|
||
- Upload-Log (falls aktiv): `/var/log/nextcloud_sftp_upload.log`
|
||
|
||
2. **Cronjobs testen**
|
||
- Manuell ausführen, um sicherzustellen, dass alles korrekt läuft:
|
||
```bash
|
||
crontab -l
|
||
```
|
||
|
||
3. **Speicherbelegung beobachten**
|
||
- Prüfen, ob der Backup-Ordner regelmäßig aufgeräumt wird:
|
||
```bash
|
||
ls -lh /mnt/hdd/nextcloud_backups
|
||
```
|
||
|
||
👉 *Screenshot geeignet: Nextcloud-Dashboard mit Systemstatus „Alles auf dem neuesten Stand“ und grünem Haken.* |