Probleme mit einem Cronjob

frannek

Registered User
Hallo zusammen,

ich hab ein Problem welches ich mir selbst nicht erklären kann.
Es geht um das Programm "streamripper".
Wenn ich über Putty das Programm mit den Parametern
Code:
streamripper http://www.streamxyz:8000 -d /srv/www/vhosts/logging/httpdocs -a -A -l 3300

starte, wird ein stream für 3300 Sekunden mitgeschnitten und eben abgespeichert.
Schließe ich jedoch Putty, wird der Streamripper auch beendet.
Kein Problem dachte ich mir, gehe ich eben via Screen in das Programm. Das funktioniert natürlich.
Nun wollte ich jedoch diesen Streamripper via Cron automatisch zur Zeit X starten lassen. Ein einfaches
Code:
streamripper http://www.streamxyz:8000 -d /srv/www/vhosts/logging/httpdocs -a -A -l 3300
funktioniert dann natürlich nicht da das Programm ohne screen ja sofort wieder beendet werden würde.
Ich machte dann folgendes:
Code:
screen -d -m -t  STREAMRIPPER streamripper http://www.streamxyz:8000 -d /srv/www/vhosts/logging/httpdocs -a -A -l 3300
Ergebnis: Wenn ich bei Webmin nun diesen Cronjob mit "Jetzt ausführen" starte, läuft dieser auch wunderbar. Nach 3300 Sekunden wird der Rip beendet und Screen ebenfalls wieder geschlossen.
Wenn ich diesen Cron aber jetzt zur definierten Zeit X starten lassen möchte, passiert jedoch garnix. Jetzt bin ich natürlich völlig überfragt, was hier schief geht. Vielleicht kann mir hierbei jemand einen kleinen Tipp geben. Würde mich sehr freuen.

Beste Grüße

Frannek
 
Ein einfaches
Code:
streamripper http://www.streamxyz:8000 -d /srv/www/vhosts/logging/httpdocs -a -A -l 3300
funktioniert dann natürlich nicht da das Programm ohne screen ja sofort wieder beendet werden würde.
Das stimmt so nicht. Der Cronjob würde solange laufen, bis sich sich streamripper beendet, also nach 3300 Sekunden.
 
Aso, und wieso beendet sich dann der streamripper wenn ich die Console schließe? Geholfen hat mir diese jetzt leider nicht. Sorry.
 
Last edited by a moderator:
asssoooo:-) gut, aber wieso startet es nicht automatisch sondern nur manuell?
Ist ja nicht der erste Cron den ich anlege - aber der erste der mir Probleme bereitet
 
Last edited by a moderator:
asssoooo:-) gut, aber wieso startet es nicht automatisch sondern nur manuell?
Vermutlich, weil du nur den relativen aber nicht den absoluten Pfad zum Binary angegeben hast.

Ansonsten hilft es auch immer, sich die Meldungen von Cron bzw. die Ausgaben des Programms bei Ausführung durch crond zuschicken zu lassen (`MAILTO=...`).
 
Hm, okay... viele Infos auf einmal :-)
Danke hierfür schonmal. Nun, was mich ja wundert ist, das ich den Cron manuell ausführen kann, das funktioniert ja bestens. Werden jetzt den Pfad komplett mit angeben und mal schaun was passiert.
wie kann ich die Ausgabe denn an eine Datei übergeben ? > log.txt ?

so, hab jetzt den absoluten Pfad angegeben aber das selbe Problem. in der log.txt steht auch nix.
Momentan hab ich folgendes drin:

Code:
/usr/local/bin/streamripper http://www.streamxyz.de:8000 -d /srv/www/vhosts/logging/httpdocs -a -A -l 3300  > log.txt
und eben die Zeiten zu denen es starten sollte - nix ist passiert :-(
 
Last edited by a moderator:
Damit erreichst Du den stderr-Stream aber nicht. Versuch's mal mit
Code:
.... > /absoluter/pfad/log.txt 2>&1
Ansonsten käme die Ausgabe in der Mail, die cron verschickt...
In /var/log/messages (oder syslog, je nach Distribution) solltest Du auch Hinweise darauf finden, dass für den Benutzer ein cronjob gelaufen ist.
 
Hallo zusammen,

ich weis zwar nicht woran es liegt aber jetzt geht alles wunderbar :-) Nachdem ich für das log die 2>&1 anfügte wurde der Cron gestartet. Kann mir zwar nicht vorstellen weswegen aber es geht alles bestens. Vielen Lieben Dank für eure hilfen.

Gruß Frannek
 
Back
Top