
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.