@wargych

Как правильно прописать автозапуск бинарного файла в Cron?

В crontab -e прописано: @reboot /usr/local/etc/rc.d/blog .
После перезагрузки бинарник не запускается либо запускается с ошибками. В логах ничего вразумительного не нашел.
blog - скомпилированное в golang'е приложение, должно поднимать движок сайта с неким функционалом.
Если в кроне ничего не прописывать, а запускать файл командой service blog start или по пути /usr/local/etc/rc.d/blog - все работает, можно зайти по http.

После того, как прописываешь в crontab нельзя запустить и по команде - приложение срабатывает и, насколько я понимаю, вылетает, http недоступен.

В чем кроется проблема?
  • Вопрос задан
  • 565 просмотров
Решения вопроса 1
@wargych Автор вопроса
Все оказалось просто:
в моем случае при запуске задания крон пытался его запустить из корневой директории root, а статические файлы приложения (templates) при этом не подхватываются;
оказалось достаточно перед путем к файлу указать путь к директории с файлом:
@reboot cd /usr/local/etc/rc.d/; /usr/local/etc/rc.d/blog - и все заработало
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
athacker
@athacker
Если у вас приложение запускается по service blog start, это значит, что в кроне ничего костылить не надо -- оно и так запустится при старте системы.

И тогда возникает второй вопрос -- что вообще вы пытаетесь добиться? Какова задача?
Ответ написан
@KirEv
лучше такие вещи поднимать как сервис,
с путями пол-беды, проблем добавится с открытыми дескрипторами.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы