Ich vermute, Du nutzt die Nextcloud-interne Funktion zum Rollieren der Logdatei und nicht logrotate, korrekt? Wenn dem so ist, solltest Du üblicherweise cron.php mittels eines cron jobs regelmäßig ausführen lassen. Dieser wird dann unter dem User “www-data” ausgeführt, sodass auch dieser User das Recht haben muss unter /var/log neue Dateien anzulegen bzw. vorhandene Dateien um zu benennen.
Um dies zu testen musst Du unbedingt erst in den Kontext dieses Users wechseln und dann Deine Tests durchführen. Die Befehlsausführung als root-User ist hier nicht zielführend. Beispiel:
su - wwwrun -s /bin/sh
cd /var/log
touch xxx.log
Diese Diskussion geht auch auf diese Problematik ein:
Wie @devnull schon geschrieben hat wird die Lösung vermutlich nur von kurzer Dauer sein. D.h. sobald die Logdatei wieder zu groß wird und rolliert werden soll tritt vermutlich der gleiche Fehler erneut auf. Wie Du Deinem eigenen Test entnehmen konntest, ist der User “www-data” nicht berechtigt in dem Verzeichnis /var/logneue Dateien anzulegen. Demnach solltest Du die Rechte dieses Ordners prüfen und gegebenenfalls anpassen (0755).
Alternativ kann man auch einen Ordner /var/log/nextcloud verwenden und den Benutzer www-data entsprechend berechtigen. Leider weiß ich nicht was die Default-Konfiguration ist.
Nachdem ich auch Probleme hatte mit der Permission und speziell mit der LogRotation hab ich es nun wie folgt gelöst
Einen Ordner unter /var/log angelegt mkdir /var/log/nextcloud
Den Owner abgeändert chown www-data:www-data /var/log/nextcloud
Die Berechtigungen sehen bei mir wie folgt aus drwxr-xr-x 2 www-data www-data 4096 Aug 31 12:00 nextcloud
Alle bestehenden Logs in den neuen Ordner verschoben
und zu guter Letzt noch die config.php angepasst und den Pfad der Log Datei aktualisiert 'logfile' => '/var/log/nextcloud/nextcloud.log',
Ich hoffe das klappt nun euch bei euch, wenn nicht dann bessern wir einfach nach