How to: Das Datengrab in der Wolke

  • Hab mir jetzt alle nochmal angesehen, ob sich ein Fehler eingeschlichen hat. Aber sind alle ok.

    Mal 2 Beispiele:

    Spoiler anzeigen


    # /etc/systemd/system/rclone.service
    [Unit]
    Description=rclone mount
    Documentation=http://rclone.org/docs/
    After=network-online.target


    [Service]
    Type=simple
    User=rclone
    Group=rclone
    ExecStart=/usr/bin/rclone mount gdrive: /mnt/rclone/GoogleDrive \
    --allow-other \
    --buffer-size 1G \
    --dir-cache-time 72h \
    --drive-chunk-size 32M \
    --fast-list \
    --umask 002 \
    --vfs-read-chunk-size 128M \
    --vfs-read-chunk-size-limit off
    ExecStop=/usr/bin/fusermount -uz /mnt/rclone/GoogleDrive


    [Install]
    WantedBy=default.target

    Spoiler anzeigen


    # /etc/systemd/system/rclone2.service
    [Unit]
    Description=rclone mount
    Documentation=http://rclone.org/docs/
    After=network-online.target


    [Service]
    Type=simple
    User=rclone
    Group=rclone
    ExecStart=/usr/bin/rclone mount magenta: /mnt/rclone/Magenta \
    --allow-other \
    --buffer-size 1G \
    --dir-cache-time 72h \
    --drive-chunk-size 32M \
    --fast-list \
    --umask 002 \
    --vfs-read-chunk-size 128M \
    --vfs-read-chunk-size-limit off
    ExecStop=/usr/bin/fusermount -uz /mnt/rclone/Magenta


    [Install]
    WantedBy=default.target

    Oder muss:

    [Unit]
    Description=rclone mount

    [Unit]
    Description=rclone mount2

    [Unit]
    Description=rclone mount3

    ...

    ?

    Edit: Das Verzeichnis /mnt/rclone hat übrigens auch rclone:rclone Rechte. Aber ich glaube das tut nichts zur Sache...

    Edit 2:
    [Unit]Description=
    Überall verändern brachte auch nichts.

  • Ich hab da was überlesen... du hast geschrieben "der gemountete Ordner ist auch leer" heißt, generell sind alle deine Verzeichnisse die du mit rclone als service mountest leer?

  • Nee, war nur etwas falsch oder unglücklich ausgedrückt.

    Magentacloud, z.B. war leer. Hab dann was hochgeladen, und der Magenta Rclone Ordner blieb leer. Aber wie gesagt, nach Server Reboot, alles da.

    Aber das, was du meinst, hatte ich bei nem Probelauf mit Fritz.Nas über Rclone FTP. Aber die habe ich schon komplett wieder aus Rclone raus. Damit wollte
    ich mich dann später rumschlagen, wenn alles andere läuft.

  • Ich hab da grade ne Theorie dass du da generell die Files auch nicht in die Cloud sondern in die Verzeichnisse kopierst hast da die folder nicht mehr "empty" sind und so das mounten generell nicht zustande kommt.

    Versuch mal bitte folgendes :

    sudo systemctl disable rclone.service (für jeden deiner rclone services).

    Dann nen System Neustart.

    Jetzt prüfst du zuerst ob in einem der Verzeichnisse Daten drin sind.

    Wenn alle Verzeichnisse leer sind, in Ordnung, wenn nicht, alle einmal leer machen (sofern du keine Backups dieser Daten hast, kopier sie dir vorher auf deine Fesplatte oder what ever).

    Dannach dann :

    sudo systemctl start rclone.service (erstmal nur einen)

    dann checkst du ob das Verzeichnis leer ist oder inhalte hat bzw obs schon beim "start" ggf ne Fehlermeldung gibt dass der Service nicht gestartet werden kann, Schritt für Schritt.

    Wenn ein mount also nun "steht" und Inhalte da sind, kannst du den Autosstart des Services wieder mit :

    sudo systemctl enable rclone.service

    aktivieren.

  • Ich kann mit grüner Brille besser sehen. :) Wirklich. Wird glaube ich nach über 3 Jahren mal wieder Zeit für nen neuen Sehtest und neuer Brille.

    So:
    alle rclone.service sseseeee (sauerländer Plural) removed. Und wurde auch jedes mal bestätigt.
    Systemneustart
    rclone.service neu gestartet und Bestätigung erhalten. (zum Testen nur den einen, den GoogleDrive)

    Systemneustart

    /mnt/rclone/GoogleDrive hat den Inhalt von Google Drive (also funktioniert).

    In Nextcloud nachgesehen, ob der Inhalt ebenfalls angezeigt wird - ja, funktioniert.

    Per Browser im Hauptordner / von Goggle Drive eine jpg Datei hochgeladen

    Nexcloud Browser relaod (zur Sicherheit mehrmals)

    jpg Datei wird nicht angzeigt

    Konsole:

    cd /mnt/rclone/GoogleDrive

    ls -l

    GoogleDrive Inhalt wird angezeigt, aber die neue jpg Datei nicht. (also genau der Scheiß, wie vorher auch)

    Konsole:

    sudo -u www-data php -f /var/www/nextcloud/cron.php
    sudo -u www-data php /var/www/nextcloud/occ files:scan --all
    Nexcloud Browser relaod (zur Sicherheit mehrmals)
    jpg Datei wird nicht angzeigt
    Systemneustart
    Nexcloud Browser relaod (zur Sicherheit mehrmals)
    jpg Datei wird angzeigt
    Kopfschüttel

    Ich bin ja nicht so der Typ, der gerne aufgibt und so... aber was nun?

  • Generell solltest auch deine Rclone Mount Parameter überdenken.
    --fast-list beispielsweise bringt nämlich gar nichts bei mounts.

    Als Orientierungshilfe: https://forum.rclone.org/t/my-recommend…6-mar-2019/6132

    --fast-list wurde damals im Forum vorgeschlagen um emby/plex etc das listening zu erleichtern...er hat ja 1zu1 meine Options übernommen. Also wäre das in dem Fall mein Fehler ;)


    ....
    Ich bin ja nicht so der Typ, der gerne aufgibt und so... aber was nun?

    Wie siehts denn aus wenn du unter /mnt/rclone/GoogleDrive mit touch eine Datei anlegst? Ist diese dann sofort via ls -l sichtbar?

    Ich seh einfach den Fehler nicht bei den mounts.

  • cd /mnt/rclone/GoogleDrive
    touch test.txt
    ls -l
    alles inkl. test.txt vorhanden
    Per Browser in Google Drive ebenfalls vorhanden
    Per Browser in Nextcloud test.txt nicht vorhanden
    sudo -u www-data php -f /var/www/nextcloud/cron.php
    sudo -u www-data php /var/www/nextcloud/occ files:scan --all
    Per Browser in Nextcloud test.txt jetzt vorhanden

    Also die eine Richtung funktioniert. Aber warum die andere Richtung nicht?

  • Nochmal Anmerkung, ich glaube ich habe deinen Fehler gefunden ^^ bzw mir ist etwas eingefallen was ich zu Nextcloud gelesen habe...

    Wenn Nextcloud mit PHPfpm läuft (was es bei einem kurzen Blick auf den Guide tut den du gepostet hast), muss man wohl auch PHP noch "beibringen" dass es die Verzeichnisse neu scannt und nicht nur nen cronjob einrichten.

    Schau mal hier : https://decatec.de/home-server/ne…as-dateisystem/

    "Für PHP FPM muss dazu der virtuelle Host für Nextcloud (siehe hier) modifiziert werden. Das soeben angelegte Verzeichnis wird bei fastcgi_param PHP_VALUE einfach bei open_basedir hinzugefügt. Der komplette Block kann dann z.B. so aussehen."

  • Also die eine Richtung funktioniert. Aber warum die andere Richtung nicht?

    Immerhin können wir rclone schon mal ausschliessen, jetzt müssen wir also nur noch deinen Webserver/Nextcloud fit bekommen :D

  • Das klingt logisch.
    Öhm aber das ist doch dann eher wieder ein Nextcloud Setting. Hier streikt doch eher Rclone?

    Edit:
    Halt, Stopp, jetzt Sprech ich! looooool


    Immerhin können wir rclone schon mal ausschliessen, jetzt müssen wir also nur noch deinen Webserver/Nextcloud fit bekommen

    Ich komm jetzt nicht ganz hinterher.
    PHP hat auch Einfluss darauf, dass Rclone nur in eine Richtung anzeigt?

  • Das klingt logisch.
    Öhm aber das ist doch dann eher wieder ein Nextcloud Setting. Hier streikt doch eher Rclone?

    naja scheinbar streikt rclone ja nicht, du hast ja zum test eben direkt ins rclone verzeichnis geschrieben und die daten waren da.

    Ich erkläre mir das jetzt so (ich hab aber auch nicht die dicke Erfahrung mit phpfpm etc)

    Du schreibst ins temp Verzeichnis wenn du etwas hochlädst, nextcloud zeigt den Inhalt nicht an weil php nicht mitbekommt dass er da ist, wenn du jetzt aber das system neustartest wird irgendwo in der start routine das zeug aus dem temp Verzeichnis auf die Zielverzeichnisse verteilt.

  • Schnuffi, wenn du das sagst... Ich hab gerade sowieso nur noch ??? vor de Birne...

    Meine Logik sagt mir nur:

    Ey Alter, wenn Nextcloud nicht installiert wäre, dann würde Rclone aber trotzdem die Datei nicht anzeigen, wenn du die per Browser jetzt in Google Drive höchlädst.
    Also warum sollst du jetzt:
    mkdir -p /var/nextcloud_external_datachown -R www-data:www-data /var/nextcloud_external_data, ... machen?

    :D :D :D

  • Moment, wenn du von "per Browser" redest dann bin ich bisher davon ausgegangen du sprichst davon dass du sie via Browser in Nextcloud hochlädst anstatt über die App... und nicht direkt über die Google Seite.


    mkdir -p /var/nextcloud_external_datachown -R www-data:www-data /var/nextcloud_external_data

    wird dir so gar nichts bringen weil das nicht deine Pfade sind :P

  • Na dann schau dir mal die Optionen mit denen wir die Drives einbinden an....

    "--dir-cache-time 72h \"

    nimm das mal bitte zum testen aus dem script deines FTPs raus, und versuch das dann via ftp nochmal...ich wette das behebt dein Problem...

    Bei Google würde ich das allerdings nicht empfehlen sonst bekommst du ruck zuck deinen API Bann.

    Wobei mir auch nicht ganz klar ist warum du noch etwas über Google direkt addest wenn du es in Nextcloud eingebunden hast :D

  • Von Anwendungszeck her ist das auch nicht unbedingt das Dingen, ein 24 Stunden Serverreboot würde dafür schon reichen.
    Aber es geht ums Prinzip. Wenn es aber eigentlich funktionieren müßte und bei dir und oder anderen auch funktioniert, dann wäre es natürlich auch für mich erfreulicher.
    Und ich nutze zum hochladen meist CarotDAV. Und das ist ja genauso, das die Datei nicht angzeigt wird.

  • Nein, wir haben hier einfach hart an einander vorbei geredet.

    Der Punkt ist, ab dem Augenblick wo der Drive gemountet wird, erstellt er nen Cache des Inhalts den er erst 72 Stunden später erneuert. Er indiziert also nicht neu und bekommt nur Änderungen mit die an deinem Mountpoint gemacht wurden.

    Jetzt wo ich weiß wo dein Problem liegt (was ich vorher einfach falsch verstanden habe) ergibt das für mich auch komplett Sinn.

    Das PHP Gedöns brauchst du auch nicht.

    Kannst du ganz einfach testen:

    Lad ne Datei via Browser (drive.google.com) in deinen Drive.

    Anstatt dein System komplett neu zu starten machst du nur :

    sudo systemctl restart rclone.service

    Wenn das File dann da ist, liegts einfach am caching.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!