MainRadiotalkCustom
Общие вопросы по интернет радио вещанию
6   •   Посмотреть все темы

Crontab

 

33
dimagood @dimagood
подскажите пожалуйста что нужно прописать в crone чтобы вот эти команды выполнялись поочередно одна за другой раз в час например и после того как сервер перезагружается чтобы эти команды тоже выполнялись. FAQ по крону читал. Осталась одна надежда на вас,помогите пожалуйста.

Вот команды которые должны выполняться по-порядку:
sudo su TestUser
cd /usr/local/icecast
icecast -c icecast.xml -b
exit
ices -c '/usr/local/etc/ices.conf'
cd /etc; /root/streamtranscoderv3-3.1.11/streamTranscoderv3 -b
cd
/usr/bin/awstats_updateall.pl now -awstatsprog=/var/www/cgi-bin/awstats.pl

Это команды для запуска ICECAST затем ICES затем streamTranscoderv и потом статистики. Icecast из под root не запускается. может можно в кроне что-то полегче написать чтобы они раз в час выполнялись. Просто Icecast несколько раз в день может упасть а оповещения никакого нет что он упал а хотелось бы чтобы cron всю схему вещания сам автоматически запускал без моего вмешательства и прописывания команд по SSH. Помогите пожалуйста.

727
Leff27 @Leff27
В конфиге айскаста выключи запрет запуска от рута. Пишем crontab -e в SSH
Туда вводим
@reboot icecast -b -c '/usr/local/icecas/icecast.xml' && sleep 5 && ices -c '/usr/local/etc/ices.conf' && sleep 5 && /root/streamtranscoderv3-3.1.11/streamTranscoderv3 -b && sleep 5 && /usr/bin/awstats_updateall.pl now -awstatsprog=/var/www/cgi-bin/awstats.pl

01 * * * * icecast -b -c '/usr/local/icecas/icecast.xml' && sleep 5 && ices -c '/usr/local/etc/ices.conf' && sleep 5 && /root/streamtranscoderv3-3.1.11/streamTranscoderv3 -b && sleep 5 && /usr/bin/awstats_updateall.pl now -awstatsprog=/var/www/cgi-bin/awstats.pl


вроде так...

33
dimagood @dimagood
а как выключить запрет запуска от рута?

727
Leff27 @Leff27
Если у тебя есть внизу это
<security>
<chroot>0</chroot>
<changeowner>
<user>icecast2</user>
<group>icecast</group>
</changeowner>
</security>


то смени на

<security>
<changeowner>
<user>nobody</user>
<group>nogroup</group>
</changeowner>
</security>

33
dimagood @dimagood
сделал все так как Вы написали и ничего не происходит,не работает cron =(

6245
Тарас @tarasian666
используйте абсолютные пути к исполняющим файлам

33
dimagood @dimagood
tarasian666 абсолютные пути это без кавычек? или как?

6245
Тарас @tarasian666
это полные
не просто icecast а /usr/local/bin/icecast или /usr/bin/icecast в зависимости где он расположен

33
dimagood @dimagood
а кавычки надо?

я так понимаю надо прописать вот так?


@reboot '/usr/local/icecas/icecast.xml -b -c ' && sleep 5 && '/usr/local/etc/ices.conf -c' && sleep 5 && /root/streamtranscoderv3-3.1.11/streamTranscoderv3 -b && sleep 5 && /usr/bin/awstats_updateall.pl now -awstatsprog=/var/www/cgi-bin/awstats.pl

6245
Тарас @tarasian666
нет, не так
кавычки - неважно

6245
Тарас @tarasian666
@reboot /usr/local/icecast -b -c /usr/local/etc/icecast.xml
@reboot sleep 5; /usr/local/bin/ices -c /usr/local/etc/ices.conf
@reboot cd /etc/; /root/streamtranscoderv3-3.1.11/streamTranscoderv3 -b
@reboot cd; /usr/bin/awstats_updateall.pl now -awstatsprog=/var/www/cgi-bin/awstats.pl

33
dimagood @dimagood
а чтобы несколько раз в час выполнялись команды надо прописать это?

0,01,31 * * * * /usr/local/icecast -b -c /usr/local/etc/icecast.xml
0,01,31 * * * * sleep 5; /usr/local/bin/ices -c /usr/local/etc/ices.conf
0,01,31 * * * * cd /etc/; /root/streamtranscoderv3-3.1.11/streamTranscoderv3 -b
0,01,31 * * * * cd; /usr/bin/awstats_updateall.pl now -awstatsprog=/var/www/cgi-bin/awstats.pl

6245
Тарас @tarasian666
а зачем несколько раз в час запускать это все?
нужно добиться чтоб это было не нужно!

33
dimagood @dimagood
просто Icecast Ices StreamTranscoder иногда падает. Может несколько раз в день упасть а может и нет. вот просто и хотелось чтобы Cron периодически проверял запущены ли Icecast Ices StreamTranscoder и если вдруг они не запущены чтобы он их автоматически тогда поднимал

6245
Тарас @tarasian666
оно то конечно можно, но если так часто падает слушатель будет не доволен. Крон максимум раз в минуту работает, и минутый простой и переподключение никому не понравиться

33
dimagood @dimagood
Вы мне подскажите что нужно прописать чтобы Cron поднимал все при падении?

И еще. Подскажите пожалуйста хватит ли ресурсов VDS Virtual CPU 2000Mhz, 1500-2000Mb memory, 100000Mb disk на 6 потоков. 16kb/s 256kb/s 256kb/s 160kb/s 96kb/s 40kb/s? не будет ли падения из-за этого?

6245
Тарас @tarasian666
зависит еще от типа процессора, может хватит а может и нет. Основную нагрузку будет производить streamtranscoder

сначала найти что падает первым, подозреваю что icecast, а за ним ices так как некуда подключиться
надо сделать скрипт который запускает все это затем в крон
* * * * * /usr/bin/pgrep icecast > /dev/null || скрипт запуска

33
dimagood @dimagood
буду Вам очень признателен если Вы мне скажите скрипт запуска. ПОмогите пожалуйста,очень надо,уже на протяжении нескольких месяцев долбаюсь с ручным поднятием вещания,одна надежда на Вас,Вы моя последняя надежда на помощь =(

6245
Тарас @tarasian666
/usr/local/icecast -b -c /usr/local/etc/icecast.xml &>/dev/null
sleep 5; /usr/local/bin/ices -c /usr/local/etc/ices.conf &>/dev/null
cd /etc/; /root/streamtranscoderv3-3.1.11/streamTranscoderv3 -b &>/dev/null
cd; /usr/bin/awstats_updateall.pl now -awstatsprog=/var/www/cgi-bin/awstats.pl &>/dev/null

может даже такой скрипт прокатит, только дать права на исполнение
может вместо &>/dev/null просто поставить ;

33
dimagood @dimagood
это все писать в скрипт pl или sh ?