Nextcloud Dateien mit occ files:scan neu einlesen

Falls du Dateien in deine Nextcloud manuell über den Server in ein Benutzer Verzeichnis importieren möchtest, musst du die neu hinzugefügten Dateien mit dem occ files:scan command neu einlesen. Wir zeigen dir in dieser Anleitung, wie du mit WinSCP neue Dateien auf deinen Nextcloud Server kopierst und diese dann anschließend mit einem occ command neu einliest.

Bildschirmfoto 2021 06 29 um 21.52.02

1. Schritt - per WinSCP auf den Nextcloud-Server verbinden

Vielleicht hast du eine große Anzahl an Dateien, welche du nicht über das Web-Interface von Nextcloud oder WebDAV, sondern direkt über sftp, etc. in die Dateien eines Benutzers auf deiner Nextcloud hochladen möchtest.

Zuerst musst du die Dateien in das Benutzerverzeichnis kopieren. Wir benutzen hierzu WinSCP. Mit diesem Tool kannst du dich per SFTP auf deinen Ubuntu Nextcloud Server verbinden und Dateien von deinem PC oder Laptop direkt auf den Server laden.

Nachdem du WinSCP gestartet hast, öffnet sich das Anmeldefenster. Gebe hier die folgenden Werte an:

Serveradresse : Gebe hier die IP-Adresse des Servers an, auf dem sich deine Nextcloud befindet.

Benutzername : Gebe hier den Benutzernamen an, der berechtigt ist, sich per SFTP auf den Server zu verbinden.

Kennwort: Gebe hier das Kennwort des Benutzernamen an.

Klicke anschließend auf „Anmelden“.

2. Schritt - Dateien auf Nextcloud-Server kopieren

Nun hast du dich auf deinen Nextcloud-Server verbunden. In der Ansicht hast du auf der linken Seite die Dateien und Ordner deines Computer und auf der rechten Seite die Dateien und Ordner auf dem Server. Wenn du eine normale Ubuntu 18.04 Server VM verwendest, startest du üblicherweise im /home/username Verzeichnis auf dem Server. Wenn du einen LXC Container verwendest und den root User verwendest, startest du üblicherweise in /root/.

Nun kannst du deine Dateien von deinem Computer auf deinen Nextcloud Server kopieren. Ziehe dazu einfach die Dateien mit der Maus von der linken Seite mit den Dateien deines Computers auf die rechte Seite mit den Dateien deines Servers.

3. Schritt - Dateien auf dem Server in das Nextcloud Data Verzeichnis verschieben

einzelne Datei in Nextcloud-Verzeichnis kopieren:

root@nextcloud:~ mv /home/serverusername/meineDatei.txt /home/data/ncusername/files/ 

gesamten Ordner in Nextcloud-Verzeichnis kopieren:

root@nextcloud:~ mv /home/serverusername/meinOrdner/ /home/data/ncusername/files/ 

Unterordner und Dateien von /meinOrdner in Nextcloud-Verzeichnis kopieren:

root@nextcloud:~ mv /home/serverusername/meinOrdner/* /home/data/ncusername/files/ 

4. Schritt

Nachdem du die Datei in das richtige Verzeichnis kopiert hast, musst du nun mit dem occ-Befehl, occ files:scan die Dateien neu einlesen.

Um den occ-Befehl, benutzen zu können, musst du in das Verzeichnis deiner Nextcloud Instanz wechseln.

cd /var/www/nextcloud/ 

Du kannst neue Dateien nur für einen bestimmten Nutzer, ein bestimmtes Verzeichnis, oder für alle Nutzer einlesen.

So ließt du nur die Dateien eines Benutzers neu ein. Ersetze „daniel“ hier durch den Benutzernamen, den du einlesen möchtest.

root@nextcloud:/var/www/nextcloud sudo -u www-data php occ files:scan daniel
Starting scan for user 1 out of 1 (daniel)
+---------+-------+--------------+
| Folders | Files | Elapsed time |
+---------+-------+--------------+
| 23      | 19    | 00:00:00     |
+---------+-------+--------------+ 

So ließt du die Dateien aller Benutzer neu ein.

root@nextcloud:/var/www/nextcloud sudo -u www-data php occ files:scan --all
Starting scan for user 1 out of 13 (daniel)
Starting scan for user 2 out of 13 (tim)
^C+---------+-------+--------------+
| Folders | Files | Elapsed time |
+---------+-------+--------------+
| 31      | 682   | 00:00:02     |
+---------+-------+--------------+ 

So ließt du von einem Benutzer nur ein bestimmtes Verzeichnis ein.

root@nextcloud:/var/www/nextcloud sudo -u www-data php occ files:scan --path="/daniel/files/Bilder/"
Starting scan for user 1 out of 1 (daniel)
+---------+-------+--------------+
| Folders | Files | Elapsed time |
+---------+-------+--------------+
| 3       | 2     | 00:00:00     |
+---------+-------+--------------+ 

Fertig!

Zufrieden? Dann schreib gerne einen Kommentar.

Diesen Beitrag teilen:

11 Kommentare

  • Danke nutze es für die Erkennung von Scans die ich per SAMBA ins Filesystem pushe.
    Jetzt habe ich nur das Problem wie mache ich das für 3 verschiedene Ordner in einem Script?

    Antworten
    • Hallo,

      ich würde es so lösen (habs nicht getestet):

      Script erstellen (z.B. smbnc.sh)


      sudo -u www-data php occ files:scan --path="/daniel/files/Bilder/"
      sudo -u www-data php occ files:scan --path="/daniel/files/Filme/"
      sudo -u www-data php occ files:scan --path="/daniel/files/Dokumente/"

      Dann Script ausführbar machen: sudo chmod +x smbnc.sh

      Dann mit crontab -e automatisch ausführen lassen

      Viele Grüße

      Antworten
  • Danke, das war wirklich hilfreich!

    Ich habe Nextcloud auf einem Raspberry Pi laufen (NextcloucPi) und hatte Probleme mit ein paar Dateien / Ordnern, die nicht korrekt eingelesen waren. Die waren zwar vorhanden, wurden aber in der Cloud nicht angezeigt. (Ich hatte ein Image der SD-Karte zurückgespielt und da stimmte die Datenbank auf dem Image nicht mehr exakt mit den einen Tag später vorhandenen Daten überein. Ich musste online alle Daten löschen und dann alles erneut über den Client hochladen. Doch selbst dann waren ganze Ordner online nicht mehr sichtbar und ein paar Fotos „verloren“.)

    Über SSH mit dem Pi verbunden läuft nun nach Eingabe des Befehls sudo -u www-data php occ files:scan benutzername alles anscheinend wieder korrekt. Wie bin ich froh! 🙂

    Ich werde diesen Befehl nun immer wieder mal ausführen. Oder wäre es sinnvoll, diesen Befehl sogar als Cron-Job z.B. einmal die Woche nachts durchlaufen zu lassen, um allfällig entstandene Inkonsistenzen zu beseitigen?

    Nochmals vielen Dank!

    Antworten
    • Hallo Michael,

      theoretisch muss man die Dateien nicht neu einscannen, so lange man den Upload über die Nextcloud selbst macht (Also Webinterface, App, Desktop Client, etc.).

      Dieser Befehl ist nur notwendig, wenn man manuell im Filesystem der Nextcloud Dateien ändert, löscht oder neu erstellt.

      Viele Grüße

      dein HowToDoTech Team

      Antworten
      • Vielen Dank für die Rückmeldung. Das ist mir inzwischen auch klar geworden. Aber gut zu wissen, dass man mit diesem Befehl Daten und Datenbank wieder in Übereinstimmung bringen kann, wenn ein Problem vorliegt.

        Nochmals danke und viele Grüsse

        Michael

        Antworten
  • Vielen Dank für die Anleitung – war eigentlich der Meinung, Nextcloud erkennt es von selbst, hab aber schnell gemerkt dass das nicht so ist. Jetzt hat alles geklappt.

    Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben