Показать полную графическую версию : Автозагрузка в FreeBSD
Всем добрый день! Мне нужно чтоб при запуске сервера FreeBSD у меня автоматом запускались два приложения: squid и rinetd -c /usr/local/etc/rinetd.conf. Я нашел в инете два способа: написать скрипт и поместить его в папку /etc/rc.d/ - так и сделал, скрипт работает а при загрузке компа не срабатывает. Вариант второй: в Crontab написать @reboot имя команды, - сделал, все равно не работает... Как с этим можно побороться? И какой вариант лучше?
Telepuzik
20-06-2011, 13:40
squid »
А что мешает прописать в rc.conf строчку squid_enable="YES" для автоматического старта squid-а?
а я про это не знал)) щас пропишу... а со второй командой как поступить?
Telepuzik
20-06-2011, 13:57
щас пропишу... а со второй командой как поступить? »
Если конфиг его лежит там где его по-умолчанию ищет rinetd то так же прописывается rinetd_enable="YES".
Я это тоже щас сделал, проверить работает или нет смогу тока после перезагрузки сервака, но щас я не могу его перезагрузить, люди работают. Если вдруг это не заработает после загрузки, я напишу))
Вообще, если устанавливаете любой демон из портов/пакаджей, к нему майнтайнер 100% уже нарисовал стартскрипт. На примере rinetd смотрим:
$ pkg_info -xL rinetd | grep rc.d
/usr/local/etc/rc.d/rinetd
Ага, есть такой стартскрипт.
Теперь смотрим что в нём, а там в комментариях:
#
# Add the following lines to /etc/rc.conf to enable rinetd:
# rinetd_enable (bool): Set to "NO" by default.
# Set it to "YES" to enable rinetd
# rinetd_flags (str): Set to "" by default.
# Extra flags passed to start command
#
Майнтайнеры стараются придерживаться конвенции, что для включения автозапуска следует добавлять в rc.conf строку вида <демон>_enable="YES", поэтому Telepuzik не составило труда сделать совершенно правильную догадку. Но для некоторых софтин это неочевидно, или необходимы какие-либо дополнительные гайки.
Запомните это на будущее, чтобы, когда вам приспичит поставить ещё одну софтинку, не пришлось бегать по форумам с вопросом, как же её запускать.
А для чего-то нестандартного:
написать скрипт и поместить его в папку /etc/rc.d/ »
существует папка /usr/local/etc/rc.d/
только надо не забывать ставить атрибут "исполняемый" на скрипт.
только надо не забывать ставить атрибут "исполняемый" на скрипт. »
И, если стартскрипт написан не в соответствии с фреймворком rcNG, то должен иметь "расширение" .sh
Также, если нужно просто что-то запускать и писать скрипт по уму лень, то сгодится добавить строку запуска в /etc/rc.local
Подробности - man rc
то должен иметь "расширение" .sh »
Я скрипты пишу на перле и ставлю им расширение .pl, но разумеется, когда я их запускаю они работают.
Речь была строго о rc-скриптах. Всё же, рекомендую почитать man rc, чтобы получить точное представление о том, что происходит при подъёме.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.