Bash-Skript läuft einwandfrei, aber nicht in Cron

Bash-Skript läuft einwandfrei, aber nicht in Cron

Ich habe ein Skript, das einen Shoutcast-Stream eine Stunde lang aufzeichnen, in MP3 konvertieren und dann speichern soll. Das Skript läuft korrekt, wenn ich es vom Terminal aus ausführe, aber ich kriege es nicht in Cron zum Laufen (wo es jede Stunde zur vollen Stunde laufen sollte).

Hier ist die Zeile in Crontab:

0 * * * * /medialib/tech/bin/recordstream 2>&1 >> /medialib/tech/cron.log

und hier ist das Skript:

#!/bin/bash
name="$(date +%s)"

mp3_name=$name.mp3
wav_name=$name.wav

timeout -sHUP 60m vlc -I dummy --sout "#transcode{channels=2}:std{access=file,mux=wav,dst=/medialib/stream_backup/wav/$wav_name" /medialib/tech/lib/listen.m3u

lame --mp3input /medialib/stream_backup/wav/$wav_name /medialib/stream_backup/$mp3_name

rm /medialib/stream_backup/wav/$wav_name

Danke schön!

BEARBEITEN: Inhalt von cron.log (Dieser Text befindet sich in der Protokolldatei, seit er von einem alten Server übertragen wurde, auf dem er funktionierte).

VLC media player 2.0.8 Twoflower
Command Line Interface initialized. Type `help' for help.
> Shutting down.
VLC media player 2.0.8 Twoflower
Command Line Interface initialized. Type `help' for help.
> Shutting down.

Antwort1

Versuchen Sie zunächst zu sehen, ob cron läuft

ps -ef | grep cron

Wenn es nicht läuft, starten Sie es als Root

sudo /etc/init.d/cron start (Ubuntu and Red Hat).

Überprüfen Sie zweitens die Berechtigungen des Skripts, ob es die Option "x" hat, und versuchen Sie dann, es auszuführen

crontab -e

Versuchen Sie herauszufinden, ob der von Ihnen erstellte Cron mit diesem Befehl aufgeführt ist.

crontab -l

BEARBEITEN:

Versuchen Sie, /bin/bash direkt vor Ihrem Skriptaufruf hinzuzufügen:

0 * * * * /bin/bash /script/file

Weitere Hinweise zur LösungHier.

verwandte Informationen