
Tengo un script que se supone que graba una transmisión de Shoutcast durante una hora, la convierte a mp3 y luego la guarda. El script se ejecuta correctamente cuando lo ejecuto desde la terminal, pero parece que no puedo ejecutarlo en cron (donde debería ejecutarse cada hora en la parte superior de la hora).
Aquí está la línea en crontab:
0 * * * * /medialib/tech/bin/recordstream 2>&1 >> /medialib/tech/cron.log
y aquí está el guión:
#!/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
¡Gracias!
EDITAR: Contenido de cron.log (este texto ha estado en el archivo de registro desde que se transfirió desde un servidor antiguo donde estaba 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.
Respuesta1
Primero intente ver si cron se está ejecutando
ps -ef | grep cron
Si no se está ejecutando, inícialo como root.
sudo /etc/init.d/cron start (Ubuntu and Red Hat).
En segundo lugar, verifique los permisos del script, si tiene la opción "x" y luego intente ejecutarlo.
crontab -e
Intente ver si el cron que realizó aparece en la lista con este comando
crontab -l
EDITAR:
Intente agregar /bin/bash justo antes de la llamada del script:
0 * * * * /bin/bash /script/file
Alguna pista más para solucionarloaquí.