Cronjob problem

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von responsable, 30.04.2007.

  1. #1 responsable, 30.04.2007
    responsable

    responsable Grünschnabel

    Dabei seit:
    30.04.2007
    Beiträge:
    5
    Zustimmungen:
    0
    hi,

    ich hab schon einiges versucht, vllt könnt ihr mir helfen...
    ich benutze ein prog zum transcodieren eines audiostreams, was die eigenschaft hat imer wieder auszugehen ;)

    deswegen möchte ich einen cronjob anlegen...

    folgendes hab ich getan....

    ein script erstellt:(transcoder.sh)

    #/bin/bash

    ./streamTranscoder -c isdn.cfg

    was auch funktioniert mit ./transcoder.sh
    in
    /var/spool/cron/tabs/root

    folgendes eingetragen:
    */3 * * * * /root/transcoder/transcoder.sh

    so das es theoretisch ale 3 min startet

    wie gesagt theoretisch...leider passiert garnix...

    bräuchte da mal hilfe....thx
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 Wolfgang, 30.04.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo

    Du brauchst schon absolute Pfade, wenn du die PATH nicht setzt.

    Gruß Wolfgang
     
  4. #3 responsable, 30.04.2007
    responsable

    responsable Grünschnabel

    Dabei seit:
    30.04.2007
    Beiträge:
    5
    Zustimmungen:
    0
    und die wären? ich steh auf dem schlauch....

    bin halt kein profi und hab mir bis jetzt alles selber angeeignet...

    greetz
     
  5. #4 madfool, 30.04.2007
    madfool

    madfool Tripel-As

    Dabei seit:
    12.08.2004
    Beiträge:
    192
    Zustimmungen:
    0
    Das sollte dann so o.ä. aussehen:

    Code:
    /path/to/streamTranscoder -c isdn.cfg
    Gruß
    D.
     
  6. #5 Wolfgang, 30.04.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Wenn ein Programm im cronjob läuft, hat es keine Umgebungsvariablen.
    Es läuft in einer noninteraktiven Shell.
    In der Shell kannst du Programme nur ohne Pfad starten, wenn sie im Pfad der Umgebungsvariable $PATH liegen, oder im aktuellen Verzeichnis.

    Gib also alle Programmaufrufe innerhalb deines Scriptes mit vollem Pfad an, oder setze die Umgebungsvariable PATH entweder in deinem Script oder in der Crontab.

    man crontab gibt weitere Informationen dazu.

    Gruß Wolfgang

    PS die isdn.cfg hat auch einen Pfad!
     
  7. buli

    buli Debianator

    Dabei seit:
    16.09.2006
    Beiträge:
    789
    Zustimmungen:
    0
    Ort:
    Essen/Ruhrgebiet
    Also, deine Pfade solltest du schonkennen.
    "Absolute Pfade" means die komplette Pfadangabe. Mit "./" rufst du das Programm im aktuellen Verzeichnis auf.
    Ohne Präfix kannst du das Programm nur aufrufen, wenn die Variable PATH gesetzt ist.
     
  8. #7 responsable, 30.04.2007
    responsable

    responsable Grünschnabel

    Dabei seit:
    30.04.2007
    Beiträge:
    5
    Zustimmungen:
    0
    also wäre das in der transcoder.sh

    /root/transcoder/streamTranscoder -c isdn.cfg

    oder seh ich das falsch?
     
  9. #8 Wolfgang, 30.04.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Siehe mein Anhang.
    Woher willst du wissen, in welchem Verzeichnis dein Script steht?
    Wo soll also die Datei isdn.cgf gefunden werden?

    Gruß Wolfgang
     
  10. #9 responsable, 30.04.2007
    responsable

    responsable Grünschnabel

    Dabei seit:
    30.04.2007
    Beiträge:
    5
    Zustimmungen:
    0
    jetzt bin ich verwirrt.....

    also die isdn.cfg liegt auch in dem verzeichnis
    /root/transcoder/

    das halt ein sehr komisches script...aber das einzigste womit man audio transcodieren kann...
    hast du vllt mal ein beispiel?

    welchen anhang? bin für jede hilfe dankbar ;)

    grüsse von NDH nach EF ;)
     
  11. #10 Wolfgang, 30.04.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Gib doch einfach statt
    /root/transcoder/streamTranscoder -c isdn.cfg
    /root/transcoder/streamTranscoder -c /root/transcoder/isdn.cfg ein.

    Dein Script wird beim Start via Cronjob vermutlich im /home des users stehen.

    Alternativ kannst du auch die Umgebungsvariable PATH am Beginn der Crontab setzen.

    Oder du verwendest in deinem script vorher ein
    Code:
    cd /root/transcoder/
    
    ;)
    Gruß Wolfgang
     
  12. #11 responsable, 30.04.2007
    responsable

    responsable Grünschnabel

    Dabei seit:
    30.04.2007
    Beiträge:
    5
    Zustimmungen:
    0
    transcoder.sh sieht jetzt so aus:( verzeichnis /root/transcoder/)
    #/bin/bash
    cd /root/transcoder/
    /root/transcoder/streamTranscoder -c /root/transcoder/isdn.cfg

    crontab ( verzeichniss /var/spool/cron/tabs/root )
    */3 * * * * /root/transcoder/transcoder.sh


    aber passieren tut immer noch nix.....

    auch als cron

    */1 * * * * /root/transcoder/streamTranscoder -c /root/transcoder/isdn.cfg

    keinerlei reaktion
     
  13. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  14. #12 Wolfgang, 30.04.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Ist die Datei ausführbar?
    Wie hast du den cronjob erstellt?

    Stell dir erstmal ein Testscript mit einem einfachen echo "test">>/tmp/output ein und prüfe was dort rauskommt.
    Füge deine Systemmail in den Kopf der crontab, um Fehlerausgaben zu sehen...

    Gruß Wolfgang
     
  15. Ogion

    Ogion FOSS-Fan

    Dabei seit:
    29.04.2007
    Beiträge:
    93
    Zustimmungen:
    0
    Das Programm braucht nicht zufällig einen Xserver, oder?
    Denn dann musst du noch ein paar Sachen ändern (wahrscheinlich in deinem Script die Variable $DISPLAY setzen, aber da fragst du besser andere, die sich besser auskenen).

    Soll dein Script als root ausgeführt werden?

    Ich würde dir vorschlagen deinen Cronjob mit
    crontab -e
    zu erstellen. Dann ist wenigstens sichergestellt, dass cron den job auch findet...

    Ogion
     
Thema:

Cronjob problem

Die Seite wird geladen...

Cronjob problem - Ähnliche Themen

  1. Variablen in Cronjob = Problem?

    Variablen in Cronjob = Problem?: Hallo! Ich nutze als Betriebssystem Solaris 8 auf ner Sun. Habe mir da ein Backup-Script geschrieben, was auch wunderbar funktioniert. Nun...
  2. Bräuchte Hilfe bei Backupscript mittels Bash und cronjob

    Bräuchte Hilfe bei Backupscript mittels Bash und cronjob: Es soll für bestimmte Ordner Archivierung aller Dateien(Logfiles), die älter als 30 Tage sind machen. Am besten einmal täglich nachts irgendwann....
  3. Cronjob

    Cronjob: Hallo Bin mir nicht sicher ob dass so Möglich ist... Ich möchte dass ein Job von 02:00 Uhr Nachts bis 03:00 Uhr Nachts NICHT läuft. *...
  4. Cronjob um Dateien und Ordner die älter als 7 Tage sind löschen

    Cronjob um Dateien und Ordner die älter als 7 Tage sind löschen: Hallo, ich habe auf einem Server einen HTTP File-Explorer installiert (AjaXplorer), auf dem User Dateien hochladen und verschicken können....
  5. Cronjob mit Root-Rechten

    Cronjob mit Root-Rechten: Hallo zusammen. Ich habe ein Backup-Skript (Shell-Skript) erstellt, das alle relevanten Daten via ssh auf einen Server lädt. Das Skript wird...