Проблема с запуском по cron

12
K1
На сайте с 04.05.2014
Offline
11
6283

Здравствуйте уважаемые форумчане! Прошу помощи у знающих. Имеется установленный Debian 7, на котором крутиться icecast2 и liquidsoap. Liquidsoap из консоли запускается от пользователя admin (под рутом запуск не возможен) командой: liquidsoap -d /etc/liquidsoap/icecast.sh (в режиме демона). Необходимо сделать автозапуск по крону данного скрипта после перезагрузки.

При старте из консоли командой liquidsoap -d /etc/liquidsoap/icecast.sh либо просто liquidsoap -d /etc/liquidsoap/icecast скрипт стартует без проблем. При добавлении команды в крон, автостарт скрипта не происходит. Права на файл выставлены 755.

Файл крона для пользователя admin:

MAILTO=serg0934@gmail.com
15 02 * * * sudo /usr/local/vesta/bin/v-update-sys-queue disk
10 00 * * * sudo /usr/local/vesta/bin/v-update-sys-queue traffic
30 03 * * * sudo /usr/local/vesta/bin/v-update-sys-queue webstats
*/5 * * * * sudo /usr/local/vesta/bin/v-update-sys-queue backup
10 05 * * * sudo /usr/local/vesta/bin/v-backup-users
20 00 * * * sudo /usr/local/vesta/bin/v-update-user-stats
*/5 * * * * sudo /usr/local/vesta/bin/v-update-sys-rrd
@reboot /etc/liquidsoap/icecast.sh

Содержание запускаемого файла:

#!/etc/liquidsoap -d
set("init.daemon",true)
set("init.daemon.pidfile",false)
set("log.file.path","/var/log/liquidsoap/basic.log")
set("log.stdout",true)
set("log.level",3)
set("server.telnet.bind_addr","127.0.0.1")
set("server.telnet",true)
myplaylist = mksafe(playlist(reload=3000, '/home/user/radio/autodj'))
radio = myplaylist
radio = mksafe(radio)
radio = crossfade(start_next=6.0, fade_out=3.0, fade_in=3.0, radio)
output.icecast(%mp3(bitrate=192, id3v2 = true),
mount = "live.mp3", radio,
host = "localhost", port = 8000, password = "пароль"

Права на файлы и папки:

файл скрипта:

-rwxr-xr-x 1 root root 636 Aug 13 07:04 icecast.sh

папка liquidsoap:

drwxr-xr-x 2 root root 4096 Aug 12 07:42 liquidsoap

Заранее благодарен за помощь!

-SkyLord-
На сайте с 08.08.2014
Offline
18
#1

Попробуйте в кроне указать полный путь к sudo, к примеру:

15 02 * * * /bin/sudo /usr/local/vesta/bin/v-update-sys-queue disk

Путь к sudo естетвенно свой

K1
На сайте с 04.05.2014
Offline
11
#2
-SkyLord-:
Попробуйте в кроне указать полный путь к sudo, к примеру:

15 02 * * * /bin/sudo /usr/local/vesta/bin/v-update-sys-queue disk

Путь к sudo естетвенно свой

Спасибо, вы имеете ввиду и сам файл скрипта переместить /usr/local/vesta/bin/?

Файл скрипта у меня не бинарный, а обычный текстовой файл.

-SkyLord-
На сайте с 08.08.2014
Offline
18
#3

Я не советовал перемещать куда либо скрипт, смотрите внимательней.

/bin/sudo /usr/local/vesta/bin/v-update-sys-queue disk

Там пробел присутствует. Это то же самое выполнение команды sudo с указанием абсолютного пути.

Himiko
На сайте с 28.08.2008
Offline
560
#4

А почему не попробовать добавить так же, как и в консоли запускаете?

liquidsoap -d /etc/liquidsoap/icecast.sh

Только укажите полный путь до liquidsoap

Профессиональное администрирование серверов (https://systemintegra.ru). Круглосуточно. Отзывы (/ru/forum/834230) Лицензии (http://clck.ru/Qhf5) ISPManager,VDSManager,Billmanager e.t.c. по низким ценам.
pupseg
На сайте с 14.05.2010
Offline
364
#5

поддержу.

укажите полный путь до liquidsoap - проверьте. Если не получится - уберите из крона и пропишите в /etc/rc.local строку запуска вашего скрипта, если /etc/rc.local не существует - создайте его, и поставьте на него 755

Качественная помощь в обслуживании серверов. (/ru/forum/661100) Бесплатных консультаций не даю, не помогаю, не обучаю. Минималка от 100$. Как пропатчить KDE-просьба не спрашивать. Есть форумы (http://linux.org.ru) и полезные сайты (http://www.opennet.ru/).
pupseg
На сайте с 14.05.2010
Offline
364
#6

поддержу.

укажите полный путь до liquidsoap - проверьте. Если не получится - уберите из крона и пропишите в /etc/rc.local строку запуска вашего скрипта, если /etc/rc.local не существует - создайте его, и поставьте на него 755

K1
На сайте с 04.05.2014
Offline
11
#7

pupseg, спасибо. Попробывал в двух предложенных вами вариантах, но так и не запустил.

Как мне кажется, /etc/liquidsoap/icecast.sh это уже и является полным путём к файлу. Хотя может я его не правильно определяю?

---------- Добавлено 14.08.2014 в 10:17 ----------

Подскажите еще пожалуйста какие возможны варианты?

Himiko
На сайте с 28.08.2008
Offline
560
#8

1. Выполните команду whereis liquidsoap

2. Полученный полный путь укажите в cron. К примеру:

/usr/bin/liquidsoap -d /etc/liquidsoap/icecast.sh

T
На сайте с 09.12.2011
Offline
55
tls
#9
kaster1980:
Подскажите еще пожалуйста какие возможны варианты?

Почему не использовать прилагающийся initd-скрипт?

PS: icecast.sh кривой.

K1
На сайте с 04.05.2014
Offline
11
#10

Himiko, спасибо, попробуем.

---------- Добавлено 14.08.2014 в 22:09 ----------

tls, спасибо за совет, но кто бы помог его составить.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий