Nextcloud Befehle CLI und DB
Interaktiv in der Console
docker exec -it -u 33 nextcloud-app-1 /bin/bash
# im container dann zb sowas ausführen:
php occ files:scan --all
# nur Dateien eines bestimmten Users scannen:
php occ files:scan pl-admin
Autoakzeptieren von Gruppenfreigaben bei neu angelegten Usern
Problem
https://github.com/nextcloud/server/issues/19520
https://github.com/nextcloud/server/issues/18958
Neu angelegte User müssen zuerst Freigaben im Ordner 'Ausstehende Freigaben' akzeptieren, die mit ihrer Gruppe geteilt sind, bevor die freigegebenen Ordner unter ‘Alle Dateien‘ angezeigt werden.
Erhoffte Lösung: zwei Environment Flags
Leider keine änderung
DB Workaround
https://github.com/nextcloud/server/issues/19520#issuecomment-2210405574
Man kann die PostgreSQL Tabelle 'oc_share' so abändern, dass der DEFAULT Wert in der Spalte 'accepted' immer 1 ist und nicht 0:
# interaktiv mit DB-Container verbinden
docker exec -it nextcloud-db-1 /bin/bash
# mit PostgreSQL DB verbinden
psql -U nextcloud nextcloud
# oder bei nextcloud-aio manual-install (dbname, dbuser und dbpassword in config/config.php nachsehen)
psql -U oc_nextcloud -d nextcloud_database
# Für Nextcloud OIDC_user_backend App
# alle bisherigen accepted=0 in =1 ändern:
UPDATE oc_share SET accepted = 1 WHERE accepted = 0;
# Für dauerhaft autoaccept (geht nicht bei Nextcloud OIDC_user_backend App)
# Default von Spalte accepted ändern (bisherige accepted=0 bleiben unverändert)
ALTER TABLE oc_share ALTER COLUMN accepted SET DEFAULT 1;
# weitere Befehle zum Browsen:
# alle Tabellen anzeigen
\dt
# Tabelleninfos anzeigen
\d oc_share
# oc_share anzeigen
SELECT * FROM oc_share;
Alte Shares löschen
php occ sharing:delete-orphan-shares
# oder
php occ sharing:delete-orphan-shares -f
Quelle: https://help.nextcloud.com/t/delete-a-zombie-share/110900/5
Activities einer bestimmten File-ID anzeigen
# in postgresql docker-container:
psql usw siehe oben
SELECT * FROM oc_activity WHERE object_type = 'files' AND object_id = 'DEINE_FILE_ID' ORDER BY timestamp DESC;
Gruppen-IDs anzeigen
# in postgresql container bashen
docker exec -it nextcloud-db-1 /bin/bash
# in postgresql-db mit nextcloud einloggen
psql -U nextcloud nextcloud
# bzw. für nextcloud-aio manual-install container:
psql -U oc_nextcloud -d nextcloud_database
# oc_groups anzeigen
SELECT * FROM oc_groups;
Oder über occ und dann die ID der Benutzer abgleichen und Gruppenbezeichnungen raten:
docker exec -it -u 33 nextcloud-app-1 /bin/bash
php occ group:list
groupfolders:scan
occ groupfolders:create <name>→ create a group folderocc groupfolders:delete <folder_id> [-f|--force]→ delete a group folder and all its contentsocc groupfolders:expire→ trigger file version expiration (see Nextcloud docs for details)occ groupfolders:group <folder_id> <group_name> [-d|--delete] [write|share|delete]→ assign groups and their rights to a group folderocc groupfolders:list→ list configured group foldersocc groupfolders:permissions→ configure advanced permissions (see below for details)occ groupfolders:quota <folder_id> [<quota>|unlimited]→ set a quota for a group folderocc groupfolders:rename <folder_id> <name>→ rename a group folderocc groupfolders:scan <folder_id>→ trigger a filescan for a group folder
Quelle: https://help.nextcloud.com/t/solved-occ-file-scan-not-working-for-groupfolder/94017
Troubleshooting
Fehlermeldung beim Befehl files:scan --all
... "file.pdf" will not be accessible due to incompatible encoding ...
Lösung: https://github.com/nextcloud/server/issues/3136#issuecomment-579470343
apt update
apt install convmv
# Entweder direkt ohne Test oder --notest weglassen um Vorgang zu testen
convmv -f utf-8 -t utf-8 -r --notest --nfc <nextcloud-data-folder>
via Portainer
https://www.reddit.com/r/NextCloud/comments/croxkm/how_to_use_occ_scan_on_a_docker_install/
zuerst in den Docker container gehen (zb Portainer oder über Konsole) und folgendes Kommando testen:
php occ maintenance:mode --on
evtl kommt folgende Fehlermeldung:
root@1dfd70a49980:/var/www/html# php occ maintenance:mode --on
Console has to be executed with the user that owns the file config/config.php
Current user id: 0
Owner id of config.php: 33
Try adding 'sudo -u #33' to the beginning of the command (without the single quotes)
If running with 'docker exec' try adding the option '-u 33' to the docker command (without the single quotes)
danach die Konsole des Containers nochmal starten, diesmal mit dem vorgeschlagenen Nutzer (user id 33 in meinem Fall, wie in der Ausgabe vorgeschlagen):
und dann
./occ maintenance:mode --on
oder wenn man kein portainer nutzt:
docker exec container_name sudo -u 33 php7 /var/www/html/occ files:scan --all
WICHTIG
auf den Ordner achten. Auszug aus dem reddit post (siehe oben)
With something like this, the path to occ is important. It's either under /config/www/nextcloud or /var/www/html.
Also, if you see occ but you can't run commands like so - occ files:scan <user> then ./occ files:scan <user> can sometimes fix it.









No Comments