Files die sich im Download befinden sperren?

  • Hallo Ihr Lieben,
    ich nutze meinen PI2 als Downloader für Bong.TV ...
    jetzt kann ich allerdingsauf sämtliche Files zugreifen, auch auf jene, welche aktuell noch herrunter geladen werden.

    Kann ich diese irgendwie sperren, dass man sie nicht mehr "weg" verschieben kann?

    THNX, LG synth

    Fotograf, jetzt im Bereich Administration bei AIDA-Cruises tätig

  • Dein Downloader könnte mit einem anderen User arbeiten, für dessen Gruppe du keine Berechtigung hast. Du müsstest dann bloß noch dafür sorgen, dass die Datei nach komplettem Download die korrekten Rechte bekommt.
    Ich schätze mal, die Dateien haben während des Downloads eine zusätzliche Dateiendung (.part oder sowas?) dann wäre es möglich ein script regelmäßig alle Rechte von Dateien im Downloadordner zu ändern, die KEINE solche Endung haben.
    Andersherum kannst du so natürlich auch einfach alle fertigen Dateien (also die ohne Endung) in einen anderen Ordner verschieben, dann brauchst du das ganze Rechte-Zeug nicht.

  • Okay, mit nem anderen User ... hm ... das wäre eine Option ...
    leider hat die Datei beim Download schon den endgültigen Dateinamen ...

    leider gibt es zwei Tools, das original vom Anbieter und eines, welches durchaus länger existiert und welches ich nutze.
    Das "Original" vom Anbieter hat einfach einen temporären Ordner für unvollständige Downloads eingeführt ... allerdings gibt es das Tool nur für Windows (war klar, oder?)
    Das vom privaten Entwickler ... habe ihn einfach mal angeschrieben, ob er nicht einfach die Dateiendung ändern kann und hinterher nach fertigem download einfach umbenennt. Denke mal, dass nicht nur ich dieses Problem haben dürfte.

    Fotograf, jetzt im Bereich Administration bei AIDA-Cruises tätig

  • Leider schreibst du nicht Womit du es herunter lädst - daher können wir nur raten (BongLoader?) ob es evtl. bereits eine Option dafür gibt...

    Ansonsten gäbe es evtl. noch die Möglichkeit anhand der 'last modification time' der Datei zu prüfen ob noch ein Download aktiv ist ... Also den von Horroreyes vorgeschlagene Weg indem du das Programm über einen anderen Benutzer laufen lässt - oder einfach selber ein temporäres Verzeichnis für die herunterladenen Dateien nutzt, und dann ein Script welches via crontab regelmäßig die mtime prüft, mit einem buffer von sagen wir mal 5 Minuten um stagnierendes laden zu beachten... Wenn die mtime dann älter als 5 Minuten ist verschiebst du die Datei in den für dich gewünschten "Abspielordner"

  • Man sollte eigentlich davon ausgehen können, daß das 'Download Programm' die Datei für die empfangenen Daten geöffnet lässt. bis diese vollständig empfangen wurden (vorausgesetzt, alles läuft normal).

    Ich würde mir deshalb auch mal "lsof" ansehen ('man lsof'), es zeigt, ob Die Datei noch geöffnet ist.
    Ist einfacher als z.B. die Zeit abzufragen und zu vergleichen.

    Gruß, mmi

  • Sorry, ich lade mit dem BongLoader von darkblue runter ...
    das mit dem Temp-Ordner ist keine schlechte Idee, mal schauen ob ich das hin bekomme

    mal kurz theoretisch ...

    Code
    ich speichere im Temp-Ordner
    lese sämtliche Dateinamen in ein Array ein,
    frage mit lsof oder halt mit mtime "die Daten" ab
    verschiebe die Daten, welche "nicht mehr modofiziert" wurden oder als nicht mehr geöffnet angegeben sind
    in den normalen Ordner


    Automatisch zusammengefügt:

    Entweder kann ich nimmer lesen ... oder ich finds nicht ...
    bei lsof iss aber nix, was mir helfen könnte.

    hab mich also erstmal an find ran gemacht ...

    Code
    find /verzeichnis/temp/ -atime -5 -name "*.mp4"


    sollte mir alle Files liefern, die "älter" als 5 Minuten sind laut wiki.ubuntuusers.de und doc-tcpip.org

    Jetzt kann ich ja via -exec auch Befehle zu den gefundenen Files ausführen ...

    Code
    find /verzeichnis/temp/ -amin -5 -name "*.mp4" -execdir mv {} /verzeichnis/ \;


    Korrekt oder hab ich einen Fehler im Denkprozess?

    Irgendwo muss ich einen Fehler haben, weil ich die Meldung bekomme "Fehlendes Argument für -execdir


    AUTSCHN ... EDIT 1 ... hab in der Kommandozeile am Ende das \; vergessen ... scheint zu funktionieren ...
    melde mich nochmal, wenn meine Test abgeschlossen sind!
    Danke!

    EDIT 2 ...

    Ok, funzt nicht ... habe jetzt mal -amin -15 probiert und ein File von heute früh mit in den Temp-Ordner kopiert.
    Beide werden gefunden, incl. der aktuelle Download bei 15 wird nix gefunden.

    Habs auch mit -mtime und +0,0069444 (was ca. 10 Minuten entspricht) ausprobiert ... es wird mit bei "-" der aktuelle download angezeigt, bei "+" keine datei (obwohl eine im Verzeichnis ist).

    LAST EDIT 3 ...
    So, jetzt scheint es zu laufen ... 0,006944444 entspricht ca. 10 Minuten

    Code
    find /Videos/dltemp/ -ctime 0,006944444 -name "*.mp4" -execdir mv {} /Videos \;

    Das Ganze ist in einer .sh drin und wird von Crontab alle 15 Minuten aufgerufen

    Code
    */15 * * * * /home/pi/bin/VideoTempCopy.sh

    Hier natürlich vereinfacht dargestellt, weil es bei mir noch auf Stunden beschränkt ist, da der Pi tagsüber dann eh nicht laufen wird.

    Danke Euch!

    Fotograf, jetzt im Bereich Administration bei AIDA-Cruises tätig

    Einmal editiert, zuletzt von synth (17. Juli 2015 um 14:02)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!