Vielen Dank für die vielen Hinweise! Nun habe ich zwei funktionierende Schnittstellen zwischen Linux und NextCloud:
Ich beschreibe sie hier noch etwas ausführlicher, vielleicht hilft das dem einen oder anderen. Ich selbst habe mich für rclone
entschieden - für meinen Anwendungsfall ist es sehr viel besser geeignet. Für die pros und contras siehe die Beiträge oben.
Ob sich die beiden Möglichkeiten auch auf Windows-Umgebungen portieren lassen, kann ich leider nicht sagen.
Zu occ files:scan
Das allgemeine Vorgehen:
- Datei(en) in den NC-Verzeichnisbaum kopieren
- occ.files scan durchführen, damit NC von der/den Datei(en) erfährt und sie sichtbar macht.
Punkt 1 geht z.B. mit
sudo -u www-data cp <Datei(en)> /var/www/html/nc/data/<nc_user>/files/<verzeichnis>/
In dieses Verzeichnis (alles unter /var/www/html/
sollte nur der user www-data schreiben. Das ist der User, der auch den Web-Server apache2
ausführt. Daher das sudo -u www-data
.
Damit das geht, muss der User, der den Befehl absetzt, in der Gruppe sudo
sein - sonst kann er den Befehl sudo
nicht ausführen. sudo
fragt dann nach dem eigenen Passwort (nicht nach dem von www-data
!).
(Will man die ganze Aktion von Skripten aus steuern, ist diese Nachfrage ungünstig. Hier hilft der Systemadministrator, der diese Passwort-Abfrage unterbinden kann. Leider Kann ich in diesem Detail nicht helfen.)
Auf meinem Server ist
/var/www/html/
das Stammverzeichnis aller WEB-Inhalte. In dem Verzeichnis
/var/www/html/nc/
ist NextCloud installiert. Der relevante Verzeichnisbaum ist dann unter
/var/www/html/nc/data/<nc_user>/filse/
In meinem Fall verwende ich den NC-User admin
, er kann durch jeden anderen user ersetzt werden.
Punkt 2 geht so:
sudo -u www-data php /var/www/html/nc/occ files:scan admin
Die Voraussetzungen für sudo
wurden unter Punkt 1 bereits beschrieben.
Der Befehl occ files:scan
hat etliche Varianten, die hier gut dokumentiert sind:
https://docs.nextcloud.com/server/20/admin_manual/configuration_server/occ_command.html
Dass ich hier ... admin
verwende, ist nur eine dieser Varianten und hängt damit zusammen, dass ich Dateien vorher in den Verzeichnisbaum eben vom NC-admin kopiert hatte.
Zu rclone
rclone
ist sehr gut dokumentiert: https://rclone.org/
Es ist in der Standard Installation von Linux nicht enthalten, aber mit
apt-get install rclone
schnell installiert. Allerdings bekommt man von der Site https://rclone.org/downloads/ i.d.R. eine neuere Version als aus den Reposietories. Diesen Weg empfehle ich ausdrücklich. Der Abschnitt Script Download and Install ist Dein Freund…
Nach der Installation muss man es mit rclone config
konfigurieren, das wird hier erklärt:
https://rclone.org/docs/
Als Anhaltspunkt für die erfragten Parameter kann vielleicht helfen:
[nc_cg2022]
type = webdav
url = https://beispiel.org/nc/remote.php/webdav/
vendor = nextcloud
user = admin
Dabei ist <nc_cg2022>
ein frei zu vergebender Name für einen Remote (also einen Cloud-Zugang). Der User ist (natürlich) der NC-User, das zugehörige Passwort kann mit erfasst werden und wir verschlüsselt gespeichert.