O script Bash é executado corretamente, mas não no cron

3

Eu tenho um script que deve gravar um stream de shoutcast por uma hora, convertê-lo em mp3 e salvá-lo. O script é executado corretamente quando eu o executo a partir do terminal, mas parece que não consigo executá-lo no cron (onde ele deve ser executado a cada hora no topo da hora).

Aqui está a linha no crontab:

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

e aqui está o script:

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

Obrigado!

EDIT: Conteúdo do cron.log (Este texto está no arquivo de log desde que foi transferido de um servidor antigo onde estava funcionando).

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.
    
por radiotech 06.06.2014 / 16:34

1 resposta

0

Primeiramente, tente ver se o cron está sendo executado

ps -ef | grep cron

Se não estiver em execução, inicie-o como root

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

Em segundo lugar, verifique as permissões do script, se ele tiver a opção "x" e tente executar

crontab -e

Tente ver se o cron que você fez está listado com este comando

crontab -l

EDITAR:

Tente adicionar / bin / bash antes da sua chamada de script:

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

Mais alguma pista para solucioná-lo aqui .

    
por Shu Hikari 06.06.2014 / 16:51