[PUG] Cronjobs mit scripte
Halo Leute, ich melde mich wegen einer wichtigen Sache! Unser Webradio ist von Windoof nicht mehr so begeistert und möchte deshalb auf Linux umsteigen (was auch sehr vernünftig ist). Der Chef war jetzt schlau, und hat mich beauftragt nach eine Lösung zu suchen. Ich brauche aber dazu eure hilfe. Ich habe als Distribution Debian 4.0 JEtzt möchte ich euch fragen, mit welchen Programm kann man Cronjobs machen? Jetzt zu den Jobs: Wir haben 2 Programme: /Musik/dsp/Stream/sc_trans_linux und /Musik/dsp/news/sc_trans_linux jetzt soll es folgender maßen aussehen /Musik/dsp/Stream/sc_trans_linux wird von mir erstmla manuell gestartet am Mo um 11:58 soll /Musik/dsp/news/sc_trans_linux gestartet werden. am Mo um 12:00 soll /Musik/dsp/Stream/sc_trans_linux beendet werden. am Mo um 12:01 soll der Befehl find /Musik/ -type f -name "*.mp3" > /Musik/dsp/Stream/playlist_filename.lst ausgeführt werden am Mo um 12:05 soll /Musik/dsp/Stream/sc_trans_linux gestartet werden am Mo um 12.07 soll /Musik/dsp/news/sc_trans_linux beendet werden das wären die Befehle, die jede Stunde ablaufen sollen. wie soll ich dass nun in dem Cronjob Programm einbauen? das wäre die Cronjob sache. Jetzt zudem Skript. Wir müssen jedes mal, wenn ein Moderator auf dem Stream will die Zeile "am Mo um 12:05 soll /Musik/dsp/Stream/sc_trans_linux gestartet werden" Entfernen. Dafür würde ich gerne ein Linux Skript machen. Das soll ein kleines Frage Skript sein: ***ANFANG VOM SKRIPT*** An welchem Tag soll die veränderung durchgeführt werden? [Mo/Di/Mi/Do/Fr/Sa/So] In welcher Stunde? [Nur die Stundenzahl, nicht die Minutenzahl] soll die Zeile hinzugefügt oder gelöscht werden? [1=hinzufügen/0=entfernen] ***Bearbeitung des Skiptes*** ***ENDE VOM SKRIPT*** Ist es möglich so ein skript zu schreiben, und wenn ja, wie geht das? Ich weis es sind viele Fragen, aber in Sachen Cronjobs und Skripte habe ich noch keine Ahnung, was ich jetzt natürlich ändern will =) Mit freundlichen Grüßen Stephan Schaffner -- PUG - Penguin User Group Wiesbaden - http://www.pug.org
Re: [PUG] Cronjobs mit scripte
Hi, Stephan Schaffner schrieb: Ich habe als Distribution Debian 4.0 JEtzt möchte ich euch fragen, mit welchen Programm kann man Cronjobs machen? Du kannst dich ja erstmal in ein paar Manpages einlesen, so ein hexenwerk ist das mit cronjobs nun wirklich nicht. Man sollte nur beachten wo die Ausagabe hin geht (Am besten in log files) und dass die Skripte dann jeweils in einer eigenen Umgebung laufen, man sollte sich nicht unbeding auf Umgebunsvariablen und das aktuelle Arbeitsverzeichnis verlassen. Zum Einrichten von cronjobs unter debian gibts idR. "crontab" bzw. "crontab -e" Am besten liest du erstmal man cron man 5 crontab man 1 crontab Gruß Ben. -- PUG - Penguin User Group Wiesbaden - http://www.pug.org
Re: [PUG] Cronjobs mit scripte
Hallo Stephan, Conjobs kann man z.B. mit crontab -e -u machen, je nach EDITOR Variable kommt dann eine nano oder vi zum Vorschein. Zunächst solltest Du Dir genau die man Pages von crontab durchlesen, da steht genau drin, wie die Syntax aussehen muss. Weiterhin muss der Cronjob dem User gehören, der die nötigen Rechte hat, um die Skripte zu starten bzw. zu stoppen. Es spricht auch nichts dagegen, dass ein Skript, das z.B. root gehört, bestimmte Parameter aus einem Textfile oder einer Datenbank liest. Wir hatten hier mal ein vergleichbares Problem, bei dem html Files von einem Typo3 Server beim Eintreten bestimmter Ereignisse auf einen anderen Webserver hochgeladen werden sollten. Dazu wurde via Cron ein Perl Skript aufgerufen, dass über DBI eine MySQL Datenbank abgefragt hat. In einer Tabelle wird eingetragen, was wann zu tun ist. Diese Daten werden über ein PHP Skript, also letztlich über ein nettes GUI via Browser da eingetragen. Das PHP Skript prüft die Daten natürlich auf Gültigkeit. Das Perl Skript hat dann die Felder ausgelesen, noch einmal auf Gültigkeit geprüft (also z.B. 25:99 Uhr gibt es nicht ;-) und dann eben das passende rsync Skript aufgerufen oder eben nichts gemacht. Keines der Tools benötigt dafür root Rechte, dafür wurden 2 User eingerichtet, einer für Apache/PHP und einer für das Perlskript, unter dem auch die Crontab eingetragen wurde. Um Prozesse zu killen, eignet sich dieser 3zeiler sehr gut: for i in `pidof ${PNAME2KILL}`; do kill $i; done sleep 5 for i in `pidof ${PNAME2KILL}`; do kill -9 $i; done Die 3. Zeile ist nur bei wirklich hartnäckigen Prozessen nötig. Das Skript für den Moderator würde ich hier auch über ein Webinterface realisieren, entweder über PHP oder Perl CGI. Die beste Lösung wäre aber IMHO immer noch das gute, alte Mischpult mit Fade-In/-Out... Grüße Christian Stephan Schaffner schrieb: > Ich habe als Distribution Debian 4.0 JEtzt möchte ich euch fragen, mit > welchen Programm kann man Cronjobs machen? > ... > Jetzt zudem Skript. Wir müssen jedes mal, wenn ein Moderator auf dem > Stream will die Zeile "am Mo um 12:05 soll > /Musik/dsp/Stream/sc_trans_linux gestartet werden" Entfernen. Dafür > würde ich gerne ein Linux Skript machen. -- PUG - Penguin User Group Wiesbaden - http://www.pug.org
Re: [PUG] Cronjobs mit scripte
Und die Manuals sind bestimmt 300 Seiten lang :D Aber wie soll ich das mitdem Web Interface lösen ?!? Am 09.01.08 schrieb Christian Felsing <[EMAIL PROTECTED]>: > > Hallo Stephan, > > Conjobs kann man z.B. mit crontab -e -u machen, je nach > EDITOR Variable kommt dann eine nano oder vi zum Vorschein. > > Zunächst solltest Du Dir genau die man Pages von crontab durchlesen, da > steht genau drin, wie die Syntax aussehen muss. Weiterhin muss der > Cronjob dem User gehören, der die nötigen Rechte hat, um die Skripte zu > starten bzw. zu stoppen. Es spricht auch nichts dagegen, dass ein > Skript, das z.B. root gehört, bestimmte Parameter aus einem Textfile > oder einer Datenbank liest. > > Wir hatten hier mal ein vergleichbares Problem, bei dem html Files von > einem Typo3 Server beim Eintreten bestimmter Ereignisse auf einen > anderen Webserver hochgeladen werden sollten. Dazu wurde via Cron ein > Perl Skript aufgerufen, dass über DBI eine MySQL Datenbank abgefragt > hat. In einer Tabelle wird eingetragen, was wann zu tun ist. Diese Daten > werden über ein PHP Skript, also letztlich über ein nettes GUI via > Browser da eingetragen. Das PHP Skript prüft die Daten natürlich auf > Gültigkeit. > > Das Perl Skript hat dann die Felder ausgelesen, noch einmal auf > Gültigkeit geprüft (also z.B. 25:99 Uhr gibt es nicht ;-) und dann eben > das passende rsync Skript aufgerufen oder eben nichts gemacht. Keines > der Tools benötigt dafür root Rechte, dafür wurden 2 User eingerichtet, > einer für Apache/PHP und einer für das Perlskript, unter dem auch die > Crontab eingetragen wurde. > > Um Prozesse zu killen, eignet sich dieser 3zeiler sehr gut: > > for i in `pidof ${PNAME2KILL}`; do kill $i; done > sleep 5 > for i in `pidof ${PNAME2KILL}`; do kill -9 $i; done > > Die 3. Zeile ist nur bei wirklich hartnäckigen Prozessen nötig. > > Das Skript für den Moderator würde ich hier auch über ein Webinterface > realisieren, entweder über PHP oder Perl CGI. Die beste Lösung wäre aber > IMHO immer noch das gute, alte Mischpult mit Fade-In/-Out... > > Grüße > Christian > > > Stephan Schaffner schrieb: > > Ich habe als Distribution Debian 4.0 JEtzt möchte ich euch fragen, mit > > welchen Programm kann man Cronjobs machen? > > ... > > Jetzt zudem Skript. Wir müssen jedes mal, wenn ein Moderator auf dem > > Stream will die Zeile "am Mo um 12:05 soll > > /Musik/dsp/Stream/sc_trans_linux gestartet werden" Entfernen. Dafür > > würde ich gerne ein Linux Skript machen. > > -- > > > PUG - Penguin User Group Wiesbaden - http://www.pug.org > -- PUG - Penguin User Group Wiesbaden - http://www.pug.org
Re: [PUG] Cronjobs mit scripte
Stephan Schaffner schrieb: > Und die Manuals sind bestimmt 300 Seiten lang :D > Aber wie soll ich das mitdem Web Interface lösen ?!? Jou, manchmal stinkt der Job halt. :-) Ich würde hier nicht unmittelbar Cron verwenden, sondern für die Steuerung der Streams ein spezialisiertes Frontend in einer Programmiersprache meiner Wahl schreiben und das dann per Signal oder einen Kontrollkanal steuern: 1.) Spiele Stream A, 2.) Spiele Stream B, 3.) Stop. Darauf lassen sich die Kernfunktionen ja herunterbrechen. Ob man das per Cron oder per Handbetrieb mittels Web oder Kommandozeile steuert, wäre dann egal. -martin -- Martin Schmitt / Schmitt Systemberatung / www.scsy.de --> http://www.pug.org/index.php/Benutzer:Martin <-- signature.asc Description: OpenPGP digital signature -- PUG - Penguin User Group Wiesbaden - http://www.pug.org
Re: [PUG] Cronjobs mit scripte
Stephan Schaffner schrieb: > Aber das mit dem skript, ich hätte gerne ein Skript, wie ich es gesagt > habe, dass man in der Konsole ausführen muss. Wie mach ich denn das =( http://www.selflinux.org/selflinux/html/shellprogrammierung.html -martin -- Martin Schmitt / Schmitt Systemberatung / www.scsy.de --> http://www.pug.org/index.php/Benutzer:Martin <-- signature.asc Description: OpenPGP digital signature -- PUG - Penguin User Group Wiesbaden - http://www.pug.org
Re: [PUG] Cronjobs mit scripte
ok, ich habe auch eine tolle anleitung zu cron bekommen http://de.wikipedia.org/wiki/Cron jetzt richte ich das ding mal ein :D Aber das mit dem skript, ich hätte gerne ein Skript, wie ich es gesagt habe, dass man in der Konsole ausführen muss. Wie mach ich denn das =( MfG Stephan Schaffner Am 09.01.08 schrieb Martin Schmitt <[EMAIL PROTECTED]>: > > Stephan Schaffner schrieb: > > > Und die Manuals sind bestimmt 300 Seiten lang :D > > Aber wie soll ich das mitdem Web Interface lösen ?!? > > Jou, manchmal stinkt der Job halt. :-) > > Ich würde hier nicht unmittelbar Cron verwenden, sondern für die > Steuerung der Streams ein spezialisiertes Frontend in einer > Programmiersprache meiner Wahl schreiben und das dann per Signal oder > einen Kontrollkanal steuern: 1.) Spiele Stream A, 2.) Spiele Stream B, > 3.) Stop. > > Darauf lassen sich die Kernfunktionen ja herunterbrechen. Ob man das per > Cron oder per Handbetrieb mittels Web oder Kommandozeile steuert, wäre > dann egal. > > -martin > > -- > Martin Schmitt / Schmitt Systemberatung / www.scsy.de > --> http://www.pug.org/index.php/Benutzer:Martin <-- > > > -- > > > PUG - Penguin User Group Wiesbaden - http://www.pug.org > > > -- PUG - Penguin User Group Wiesbaden - http://www.pug.org
Re: [PUG] Cronjobs mit scripte
ich weis dass es ein bissl dreist klinkt. aber ich brauche nur einen 2 Zeilen skript und zwar muss der befehl "find /Musik/Musik -type f -name "*.mp3" > /Musik/dsp/example.lst" und der Befehl "kill -USR1 2145" gemacht werden. aber in diesem Skript sollen /Musik/Musik, also der oder wo gesucht werden soll, /Musik/dsp/example.lst, also wohin die log hinsoll und die PID von Kill -USR 1 eingegeben werden. Ich weis dass es dreist ist, aber könnte jemand so ein Skript für mich schreiben? Danke schonmal =) MfG Stephan Schaffner Am 09.01.08 schrieb Martin Schmitt <[EMAIL PROTECTED]>: > > Stephan Schaffner schrieb: > > > Aber das mit dem skript, ich hätte gerne ein Skript, wie ich es gesagt > > habe, dass man in der Konsole ausführen muss. Wie mach ich denn das =( > > http://www.selflinux.org/selflinux/html/shellprogrammierung.html > > -martin > > -- > Martin Schmitt / Schmitt Systemberatung / www.scsy.de > --> http://www.pug.org/index.php/Benutzer:Martin <-- > > > -- > > > PUG - Penguin User Group Wiesbaden - http://www.pug.org > > > -- PUG - Penguin User Group Wiesbaden - http://www.pug.org
Re: [PUG] Cronjobs mit scripte
Hi > > Ich weis dass es dreist ist, aber könnte jemand so ein Skript für mich > schreiben? ich bin mal dreist, und antworte, ohne ein fertiges skript zu schreiben soweit ich weiß, kann man mit $1, $2 usw. die übergebenen argumente verwenden. Das müsstest du nur an der passenden Stelle einsetzten, und in der richtigen Reihenfolge die Argumente übergeben, dann kannst du dein skript einfach selber schreiben ;-) gruß max -- PUG - Penguin User Group Wiesbaden - http://www.pug.org
Re: [PUG] Cronjobs mit scripte
ICh habe so etwas noch nie gemacht =( Am 12.01.08 schrieb Maximilian Trescher <[EMAIL PROTECTED]>: > > Hi > > > > Ich weis dass es dreist ist, aber könnte jemand so ein Skript für mich > > schreiben? > ich bin mal dreist, und antworte, ohne ein fertiges skript zu schreiben > > soweit ich weiß, kann man mit $1, $2 usw. die übergebenen argumente > verwenden. > Das müsstest du nur an der passenden Stelle einsetzten, und in der > richtigen > Reihenfolge die Argumente übergeben, dann kannst du dein skript einfach > selber schreiben ;-) > gruß > max > > -- > > > PUG - Penguin User Group Wiesbaden - http://www.pug.org > > -- PUG - Penguin User Group Wiesbaden - http://www.pug.org
Re: [PUG] Cronjobs mit scripte
Grund genug es mal zu machen. Mit der angegeben Info sollte das sogar gehen. Ich gebe mal einen vorsichtigen Hinweis: find /Musik/Musik -type f -name "*.mp3" > /Musik/dsp/example.lst müsste also: find "$1" -type f -name "*.mp3" > "$2" geschrieben werden und kill -USR1 2145 müsste dann kill -USR1 $3 lauten. das in eine datei rein, diese mit /Musik/Musik /Musik/dsp/example.lst 2145 aufrufen und es sollte passen... Stephan Schaffner schrieb: ICh habe so etwas noch nie gemacht =( -- PUG - Penguin User Group Wiesbaden - http://www.pug.org
Re: [PUG] Cronjobs mit scripte
Stephan Schaffner schrieb: ICh habe so etwas noch nie gemacht =( Es ist vollkommen legitim und kein bißchen verwerflich, wenn Du das nicht willst oder nicht kannst. Aber warum um alles in der Welt hast Du Deinem Chef denn Linux angedreht, wenn Du es nicht lernen willst? -martin signature.asc Description: OpenPGP digital signature -- PUG - Penguin User Group Wiesbaden - http://www.pug.org
Re: [PUG] Cronjobs mit scripte
Sagen wir es mal so, im moment fehlt mir die Zeit so etwas ko,pliziertes zu lernen! Am 13.01.08 schrieb Martin Schmitt <[EMAIL PROTECTED]>: > > Stephan Schaffner schrieb: > > > ICh habe so etwas noch nie gemacht =( > > Es ist vollkommen legitim und kein bißchen verwerflich, wenn Du das > nicht willst oder nicht kannst. > > Aber warum um alles in der Welt hast Du Deinem Chef denn Linux > angedreht, wenn Du es nicht lernen willst? > > -martin > > > -- > > > PUG - Penguin User Group Wiesbaden - http://www.pug.org > > > -- PUG - Penguin User Group Wiesbaden - http://www.pug.org
Re: [PUG] Cronjobs mit scripte
Martin Schmitt schrieb: > Stephan Schaffner schrieb: > >> ICh habe so etwas noch nie gemacht =( > > Es ist vollkommen legitim und kein bißchen verwerflich, wenn Du das > nicht willst oder nicht kannst. > > Aber warum um alles in der Welt hast Du Deinem Chef denn Linux > angedreht, wenn Du es nicht lernen willst? Linux nicht lernen zu wollen, halte ich ebenfalls nicht für besonders verwerflich. Wenn man es trotzdem einsetzt, sollte man dann aber bereit sein, jemanden zu bezahlen, der die Arbeit macht, die man selbst nicht tun will. Gruß mks -- PUG - Penguin User Group Wiesbaden - http://www.pug.org
Re: [PUG] Cronjobs mit scripte
> Sagen wir es mal so, im moment fehlt mir die Zeit so etwas ko,pliziertes zu > lernen! Lieber Stephan, dann gibt es 2 Möglichkeiten: - Du brauchst das für Dich selbst, es hat keinen kommerziellen Charakter. Dann kann es sein dass Du hier oder in einem anderen Linux-Forum Jemanden findest, der Dir dabei hilft. - oder es ist für eine Anwendung, mit der Geld verdient wird. Dann soll die Person, die damit Geld verdient, für diese Arbeit an Diejenigen, die die Arbeit des Erstellens und Einfügens übernehmen, halt Geld bezahlen. Das kann leicht mehr sein als ein Windowslösung kostet, falls die Person nicht betriebswirtschaftlich denkt. Denn bei einer Windowslösung, die am Anfang billiger sein kann, verdient der Verkäufer hinterher: wenn es knirscht und dauernd gerichtet werden muß, was der sich bezahlen läßt. Ich kenne so etwas nur aus einem anderen Bereich, in dem die Windowslösung am Anfang viel billiger ist. Da die Zeit, in der das nicht funktioniert, aber mitgerechnet wird ist Linux dort dennoch um Längen billiger. Aber der Support kostet echtes Geld. Sowohl Markus als auch Martin sind (Linux-) Profis. Warum sollten die umsonst arbeiten? Das gilt auch eingeschränkt für Max, den Du ja vom Seminar her kennst. Der macht das auch teilweise beruflich. Ich kann nur hoffen dass Du nicht den Fehler gemacht hast Deinem Chef gegenüber Linux als etwas anzupreisen, das nichts kostet. Das Betriebssystem und die ,,rohe'' Software kostet nichts; die Anpassungsarbeiten für kommerzielle Zwecke aber sehr wohl: davon leben ja die OpenSource-Entwickler, Sysadmins usw.usf. >> Es ist vollkommen legitim und kein bißchen verwerflich, wenn Du das >> nicht willst oder nicht kannst. >> >> Aber warum um alles in der Welt hast Du Deinem Chef denn Linux >> angedreht, wenn Du es nicht lernen willst? Tja, da kann ich auch nur die Daumen drücken! Gruß, Michael Bischof PUG - Penguin User Group Wiesbaden - http://www.pug.org -- PUG - Penguin User Group Wiesbaden - http://www.pug.org
Re: [PUG] Cronjobs mit scripte
Ihr habt ja recht. In Sachen linux habe ich eigentlich schon viel gemacht und viel gelernt. und ich glaube dann wäre es ein fehler hier auf zu hören, den Link was ich über skripting bekommen habe werde ich dann nochmal ein bissl durchlesen! Des Dign ist auch schon im Ausdruck! Danke nochmal, ich melde mich dann mal wieder sobald ich neuigkeiten habe! MfG Stephan Schaffner Am 13.01.08 schrieb Michael Bischof <[EMAIL PROTECTED]>: > > > Sagen wir es mal so, im moment fehlt mir die Zeit so etwas ko,pliziertes > zu > > lernen! > > Lieber Stephan, > > dann gibt es 2 Möglichkeiten: > - Du brauchst das für Dich selbst, es hat keinen kommerziellen Charakter. > Dann > kann es sein dass Du hier oder in einem anderen Linux-Forum Jemanden > findest, > der Dir dabei hilft. > - oder es ist für eine Anwendung, mit der Geld verdient wird. Dann soll > die > Person, die damit Geld verdient, für diese Arbeit an Diejenigen, die die > Arbeit des Erstellens und Einfügens übernehmen, halt Geld bezahlen. Das > kann > leicht mehr sein als ein Windowslösung kostet, falls die Person nicht > betriebswirtschaftlich denkt. Denn bei einer Windowslösung, die am Anfang > billiger sein kann, verdient der Verkäufer hinterher: wenn es knirscht und > dauernd gerichtet werden muß, was der sich bezahlen läßt. > Ich kenne so etwas nur aus einem anderen Bereich, in dem die Windowslösung > am > Anfang viel billiger ist. Da die Zeit, in der das nicht funktioniert, aber > mitgerechnet wird ist Linux dort dennoch um Längen billiger. Aber der > Support > kostet echtes Geld. > > Sowohl Markus als auch Martin sind (Linux-) Profis. Warum sollten die > umsonst > arbeiten? Das gilt auch eingeschränkt für Max, den Du ja vom Seminar her > kennst. Der macht das auch teilweise beruflich. > > Ich kann nur hoffen dass Du nicht den Fehler gemacht hast Deinem Chef > gegenüber Linux als etwas anzupreisen, das nichts kostet. Das > Betriebssystem > und die ,,rohe'' Software kostet nichts; die Anpassungsarbeiten für > kommerzielle Zwecke aber sehr wohl: davon leben ja die > OpenSource-Entwickler, > Sysadmins usw.usf. > > > >> Es ist vollkommen legitim und kein bißchen verwerflich, wenn Du das > >> nicht willst oder nicht kannst. > >> > >> Aber warum um alles in der Welt hast Du Deinem Chef denn Linux > >> angedreht, wenn Du es nicht lernen willst? > > Tja, da kann ich auch nur die Daumen drücken! > > Gruß, > > Michael Bischof > > > > > PUG - Penguin User Group Wiesbaden - http://www.pug.org > > > -- > > > PUG - Penguin User Group Wiesbaden - http://www.pug.org > -- PUG - Penguin User Group Wiesbaden - http://www.pug.org