А как поверить выполняется он или нет? Я до этого вообще с Linux не работал и туплю во многих моментах.
Тоже не очень понял про РАЗРЕШАТЬ доменные имена. Могу пингануть google.com и адрес сервера Cloud Gate куда отправляет данные Иридиум сервер 116.203.41.208 (4 вопрос). Вот так:
Техподдержка Иридиума пишет, что проблема может быть в том, что интерфейс ppp0 открывается позже чем стартует Иридиум сервер и он его просто не видит. Скорее всего так и есть. Возможно ли запускать Иридиум сервер допустим через минуту после старта WB6?
Вообще производилось тестирование WB6 с Иридиум сервер при работе через ppp0??? Могли бы вы напрямую связаться с техподдержкой Иридиума и обсудить этот вопрос (вы же партнёры)?
В техподдержке Иридиума посоветовали как сделать задержку в 60 секунд для паузы на старте сервера.
/etc/init.d/irserver добавил sleep 60
И пошло!!! То есть проблема именно в том, что Иридиум сервер стартует раньше чем устанавливается ppp0.
Сейчас ещё напишут как скрипт сделать, чтобы его рестартить на всякий случай через некоторое время.
Подскажите пожалуйста как правильно выполнить вот эти рекомендации:
В crontab от root добавить вызов скрипта. Последний должен иметь права на выполнение. В скрипте:
#! /bin/sh
service irserver restart
По crontab информацию лучше запросить в техподдержке Wirenboard или самостоятельно прочитать в документации Linux.
Вопросы:
Скрипт этот в какой директории расположить? Не важно?
Пробовал команды crontab -l и crontab -e неясный какой-то результат для меня дают.
Как я понял, чтобы например перезапускать раз в час нужно добавить строку туда:
0 */1 * * * /home/www/myscript.pl (адрес моего скрипта).
Как правильно добавить выполнение скрипта в crontab?
dimalimite, замечательно, что получилось решить вопрос с запуском сервера!
РАЗРЕШАТЬ – resolve, я имел в виду.
Чтобы понять, выполнился ли скрипт, вставтье в него команду на создание пустого файла, что-то типа
touch /tmp/test_script
и убедитесь, что он создался.
С вашими не совсем штатными задачами, думаю, вы таки разберетесь с Linux
Вроде разобрался. Проверьте пожалуйста.
Задача: сделать перезагрузку Иридиум сервера 1 раз в час на случай каких-то отключений у оператора и переоткрытия ppp0.
Что я сделал:
Создал скрипт /mnt/data/root/reiridium.sh и выставил права chmod 755 /mnt/data/root/reiridium.sh. Внутри скрипта:
#! /bin/sh
service irserver restart
Выполнил команду crontab - e и написал строчку:
0 */1 * * * /mnt/data/root/reiridium.sh
Сохранил.
Смотрите, что записывалось в моменты запуска скрипта в /var/log/messages.
Возможно, вместо service надо писать в скрипте полный путь к этой команде. Посмотреть полный путь можно командой which service
Наблюдал сейчас эту перезагрузку в “прямом эфире”.
Через час останавливается Иридиум сервер. Вот он ещё работает и начинает рестарт с ожиданием 60 сек:
И вот 60 сек ровно проходит и он стартует и начинается reboot системы:
Я всё пытаюсь сделать перезапуск отдельно Иридиум сервера без WB6. На формуме Иридиума сейчас сказали спросить у вас. Вот в чём суть:
Добрый день.
Значит wirenboard не понимает относительный путь для service (либо за ним закреплён какой-то другой абсолютный путь). Можно указать /usr/sbin/service, - это допустимый синтаксис.
В вашем случае рестарт Wirenboard происходит из-за watchdog. Перезагрузка Иридиум сервера по скрипту воспринимается ватчодогом как аварийное завершение Иридиума. Поэтому он отправляет всю систему в перезагрузку. Вариант: отключить watchdog в /etc/init.d/irserver. Сохраните копию последнего и удалите из него строку:
–watchdog=60
Вместо:
do_start()
{
if [ -f $FOREBEAR ]; then
$FOREBEAR --launch
else
${DAEMON} --hidden --force --watchdog=60
fi
${DAEMON} --hidden --force --watchdog=60
}
Вот такой код должен быть:
do_start()
{
if [ -f $FOREBEAR ];
then
$FOREBEAR --launch
else
${DAEMON} --hidden --force
fi
}
Затем сохраните /etc/init.d/irserver и перезапустите Wirenboard. Наблюдайте. Рестарта всей системы быть не должно.
Вечер добрый.
Попробовал предварительно подать команду service watchdog stop, а потом уже /usr/sbin/service irserver restart. Опять полная перезагрузка.