Скрипт Bash работает нормально, но не в cron

Скрипт Bash работает нормально, но не в cron

У меня есть скрипт, который должен записывать поток shoutcast в течение часа, конвертировать его в mp3 и затем сохранять. Скрипт работает правильно, когда я запускаю его из терминала, но я не могу заставить его работать в cron (где он должен запускаться каждый час в начале часа).

Вот строка в crontab:

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

и вот сценарий:

#!/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

Спасибо!

EDIT: Содержимое cron.log (этот текст находился в файле журнала с тех пор, как он был перенесен со старого сервера, на котором он работал).

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.

решение1

Сначала попробуйте проверить, запущен ли cron.

ps -ef | grep cron

Если он не запущен, запустите его как root.

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

Во-вторых, проверьте права доступа к скрипту, если у него есть опция «x», а затем попробуйте запустить его.

crontab -e

Попробуйте проверить, отображается ли созданный вами cron в списке с помощью этой команды

crontab -l

РЕДАКТИРОВАТЬ:

Попробуйте добавить /bin/bash прямо перед вызовом скрипта:

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

Есть ли еще подсказки, чтобы решить эту загадку?здесь.

Связанный контент