Qnap Nas crontab Eintrag

  • Hallo!

    Ich habe nachdem ich mich lange mit dem Thema "Mono in Qnap" befasst habe, es endlich geschafft ein Skript Namens "m2strm.exe" mittels Putty erfolgreich auszuführen. Wenn ich mich mit Putty mit meiner Nas verbinde, zu dem Ordner navigiere wo das Skript m2strm.exe liegt, kann ich es mit dem Befehl "mono ./m2strm.exe" ausführen. So weit so gut! Jetzt brauche ich das ganze noch Automatisiert und das wollte ich mit dem Befehl

    (5 7-23/2***/usr/local/bin/mono/mono.sh /share/Public/Emby/m2strm.exe) in crontab umsetzen! Da es leider so nicht klappt, bräuchte ich bitte Unterstützung! Wäre toll wenn mir da jemand auf die Sprünge helfen kann!


    Freue mich auf eure Hilfe!:S

    Danke Stefan

  • Und warum klappt das nicht?


    Wäre schön, wenn Du uns die passenden Umstände auch schilderst.

    Ich habe auf mehreren NAS eigene Scripte laufen, ohne Probleme.

    Also bitte den Fehler etwas spezifizieren!


    Gruss

  • Erstmal danke für die rasche Rückmeldung!

    Da ich absoluter Neuling bei Linux und damit auch bei crontab bin, kann ich dir nur sagen das ich die crontab aus dem Order /etc/config mit dem Editor mit dem obigen genannten Befehl ergänzt habe. Sind da noch andere Schritte erforderlich? Zur Info: Das Script m2strm.exe ist zum umwandeln von M3u Iptv Dateien zu Strm Dateien, damit sie in Emby wiedergeben werden können. Da sich der Inhalt der M3u regelmäßig ändert, möchte ich das Script ein paar mal täglich automatisch laufen lassen!

    Wenn du noch Infos benötigst, einfach schreiben!

    Grüße

  • Es reicht nicht, nur die /etc/config/crontab zu editieren.

    Entweder musst Du danach den cron-daemon neu starten oder -einfacher- Du editierst mit crontab -e die aktive crontab.


    Gruss

  • Hab jetzt die crontab mal mit crontab -e bearbeitet und mit :x gespeichert. Leider läufts noch immer nicht! Der Befehl müsste so ja passen, oder?

  • Du hattest oben geschrieben, das es manuell läuft.

    Gibst Du den Befehl genau so ein, wie er in der crontab steht, also /usr/local/bin/mono/mono.sh /share/Public/Emby/m2strm.exe?


    Gruss


    Edit: Wobei, ein Script, das eine .exe aufruft?

    Oder was soll der Parameter bewirken?

    *.exe ist für mich ein Windows Like Programm!?

  • Ja manuell läuft es! Ich navigiere in Putty zu /share/Public/Emby und dann starte ich das Script mit dem Befehl mono ./m2strm.exe


    Danke für deine Hilfe!!


    Ps.: Mono hab ich in Qts über den App store installiert

    Durch Mono kann man in Linux exe Script ausführen

    Einmal editiert, zuletzt von Stefan765 ()

  • OK, ich habe nachgesehen, Mono soll für .NET und ASP gestützte Webseiten sein.


    Egal. Wenn das script manuell aufgerufen geht, dann sollte es auch per crontab gehen.

    Wobei Du spasshalber das wirklich genau so aufrufen solltest, wie es in der crontab steht!

    Nicht, das doch irgenein Pfad nicht passt.

    Also in /etc/config oder im / (root) den Befehl /usr/local/bin/mono/mono.sh /share/Public/Emby/m2strm.exe aufrufen.

    Das geht ohne Fehlermeldung?


    Gruss

  • Ich starte Putty und verbinde mich mit meiner Nas, dann springe ich mit cd .. einen Ordner zurück

    - cd share <Enter>

    - cd Public <Enter>

    - cd Emby <Enter>

    mono ./m2strm.exe <Enter>

    so führe ich das script aus.

    den oben genannte Befehl hab ich von jemandem bekommen der das script auch verwendet, nur leider nicht in Linux! Keine Ahnung ob der so richtig ist!


    Danke für deine Geduld, hoffe das hilft weiter!

  • Dann führe das Script so aus wie o.a.!

    Direkt nach der Anmeldung kein Verzeichnis wechseln, stattdessen genau wie in der crontab angegeben den Befehl aufrufen!


    Wird das Script dann immer noch korrekt ausgeführt?

    In Putty kannst Du das Logging einschalten und die Ausgabe posten.


    Gruss

  • Also wenn ich direkt nach dem einloggen nicht mit cd .. den Ordner wechsle klappt es nicht. Hier der Log:

    Code
    >> [K  >> [K  >> y
    [K  >> y (processing)[H[J
    c(B[0m[J[?25h[~] # /share/CACHEDEV1_DATA/Public/Emby/mono ./m2strm.exe
    -sh: /share/CACHEDEV1_DATA/Public/Emby/mono: No such file or directory
    [~] #
  • 1. Bitte die Ausgabe in Code tags </> setzen und die Zeile mit dem Befehl auch anzeigen , dann ist das besser lesbar.

    2. Dann kann das auch mit der crontab nicht gehen!


    Offenbar stimmt irgendwo ein Pfad oder Parameter nicht

    Code
    "No such file or directory"!


    Die Ursache musst Du finden und beheben.


    Gruss

  • Da die Zeile mit dem Befehlsaufruf fehlt: laut crontab Befehl ist mono in /usr/local/bin/mono/, laut der Logausgabe wird aber mono in /share/CACHEDEV1_DATA/Public/Emby/ gesucht!??


    Deshalb bitte immer vollständige (Log) Angaben machen.


    Gruss

  • Hallo ich bins nochmal!

    Leider bin ich noch immer nicht am Ziel. Wenn ich Putty starte und cd / eingebe anstatt mit cd .. einen Ordner zurück zu wechseln kann ich auch zum script navigieren und es auslösen. Hab mal versucht vor den Befehl ein zweites / zu setzen, jedoch erfolglos! Hier mal der Log Auszug, vielleicht kannst du darin was erkennen. Wäre dir sehr dankbar!

    Danke

  • Sorry, ich weiß nicht, wie Du da loggst.

    In Putty unter der Session das Logging aktivieren, entweder "all Session Output" oder nur "Printable Output", dann gibt das eine lesbare Textdatei mit dem ein oder anderen Steuerzeichen.

    Aber der Hex Output, das ist zu mühsam sich da durchzuwühlen.

    Und dann bitte den Text in Code Tags einstellen, nicht als Anhang.


    Gruss

  • Hier der Log wie es zum Ziel führt:

    Einmal editiert, zuletzt von Stefan765 ()

  • Ich würde Dir ja gerne helfen, aber Du machst es einem sehr schwer!


    So sieht ein Log aus Putty aus:


    Das ist alles vernünftig lesbar,


    Aus dem Auszug oben kann man kaum etwas erkennen, ein cd, aber das ist alles nicht das, was ich ich schon mehrfach erbeten habe:

    einloggen und direkt diesen Befehl absetzen: /usr/local/bin/mono/mono.sh /share/Public/Emby/m2strm.exe.


    Und falls das wieder mit einem Fehler endet, kannst Du "mono" wie folgt suchen: which mono.

    Beispielhaft habe ich hier ein Putty Log in dem ich einmal eine Script Datei suche (autorun.sh), die wird mit which nicht gefunden. Der Befehl sudo aber schon.

    Zur Ergänzung ist auch die richtige Suche für die autorun.sh mit im Log.


    Der find Prozess kann einige Minuten dauern.


    Gruss

  • So, es läuft!! Die Lösung lag darin, dass ich das mono.sh weglassen musste! Dank deiner Suchbefehle konnte ich die richtigen Ordnerpfade ausfindig machen!

    Vielen Dank für deine Hilfe und Geduld!

    Grüsse

    Stefan

  • Altes Sprichwort: "Was länge währt..." ;)


    Gruss