The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"написание стартовых скриптов"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"написание стартовых скриптов"
Сообщение от reticon emailИскать по авторуВ закладки on 11-Окт-03, 18:22  (MSK)
Посоветуйте пожалуйста доку (не маны) по написанию стартовых сценариев во FreeBSD.
Просто часто встречаю, что одну и ту же весчь можно запустить по-разному,
разный формат (язык того же /bin/sh), да и еще по всей системе разбросаны (у меня как минимум в двух местах: /etc/rc.local и /usr/local/etc/rc.d).

Например,можно ведь запускать по разному (файл /usr/local/etc/rc.d/run.sh)

#!/bin/sh

#можно так, правда в этом случае при загрузке компа сдесь висим -> #помогает CTRL-C, но процесс все-таки запускается
[ -x /usr/local/squid/RunCache ] && /usr/local/squid/RunCache && echo -n ' squid'

#или так
case "$1" in
start)
     rm /usr/local/squid/var/logs/squid.pid > /dev/null 2>&1
     (cd /tmp; /usr/local/squid/bin/RunCache > /dev/null 2>&1 &)
     echo -n 'squid'
stop)
     kill 'cat /usr/local/squid/var/logs/squid.pid'
esac
exit 0

#или вот так
/usr/local/squid/bin/RunCache

Хочется как-то это дело упорядочить под одно и чтобы в одном месте было все.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "написание стартовых скриптов"
Сообщение от lavr emailИскать по авторуВ закладки on 13-Окт-03, 10:53  (MSK)
>Посоветуйте пожалуйста доку (не маны) по написанию стартовых сценариев во FreeBSD.
>Просто часто встречаю, что одну и ту же весчь можно запустить по-разному,
>
>разный формат (язык того же /bin/sh), да и еще по всей системе
>разбросаны (у меня как минимум в двух местах: /etc/rc.local и /usr/local/etc/rc.d).
>
>
>Например,можно ведь запускать по разному (файл /usr/local/etc/rc.d/run.sh)
>
>#!/bin/sh
>
>#можно так, правда в этом случае при загрузке компа сдесь висим -> #помогает CTRL-C, но процесс все-таки запускается
>[ -x /usr/local/squid/RunCache ] && /usr/local/squid/RunCache && echo -n ' squid'
>
>#или так
>case "$1" in
>start)
>     rm /usr/local/squid/var/logs/squid.pid > /dev/null 2>&1
>     (cd /tmp; /usr/local/squid/bin/RunCache > /dev/null 2>&1 &)
>     echo -n 'squid'
>stop)
>     kill 'cat /usr/local/squid/var/logs/squid.pid'
>esac
>exit 0
>
>#или вот так
>/usr/local/squid/bin/RunCache
>
>Хочется как-то это дело упорядочить под одно и чтобы в одном месте
>было все.

man rc.local

Правильный подход - не трогать НИ ОДНОГО системного скрипта, все они
устроены таким образом что позволяют через заданные переменные запускать
свои скрипты. В верхнем мане ВСЕ расписано, в дополнение лишь man init,
путь к стартап скриптам следует задавать в своем /etc/rc.conf по примеру

# grep local_startup /etc/defaults/rc.conf

и вообще полезно посмотреть

# less /etc/defaults/*

и на подобии этих make.conf и rc.conf иметь свои, со СВОИМИ НАСТРОЙКАМИ
в /etc: /etc/make.conf и /etc/rc.conf, в тех дефолтных файлах описана масса полезных переменных, которые порверяются в скриптах /etc/rc*
и в зависимости от значений производятся те или иные действия.

Почему НЕ РЕКОМЕНДУЕТСЯ менять системные скрипты /etc/rc* - да потому
что после upgrade'а и запуска mergemaster, старые с вашими правками,
могут быть по забывчивости заменены на новые.
Все свое, логичнее и удобнее держать в альтернативном дереве системы:
/usr/local, для тех кто не понимает что это, посмотрите структуру
директорий корня "/" и структуру директорий альтернативного корня "/usr/local" - обычно такое сравнение более понятно.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "написание стартовых скриптов"
Сообщение от reticon emailИскать по авторуВ закладки on 15-Окт-03, 04:47  (MSK)
>>Посоветуйте пожалуйста доку (не маны) по написанию стартовых сценариев во FreeBSD.
>>Просто часто встречаю, что одну и ту же весчь можно запустить по-разному,
>>
>>разный формат (язык того же /bin/sh), да и еще по всей системе
>>разбросаны (у меня как минимум в двух местах: /etc/rc.local и /usr/local/etc/rc.d).
>>
>>
>>Например,можно ведь запускать по разному (файл /usr/local/etc/rc.d/run.sh)
>>
>>#!/bin/sh
>>
>>#можно так, правда в этом случае при загрузке компа сдесь висим -> #помогает CTRL-C, но процесс все-таки запускается
>>[ -x /usr/local/squid/RunCache ] && /usr/local/squid/RunCache && echo -n ' squid'
>>
>>#или так
>>case "$1" in
>>start)
>>     rm /usr/local/squid/var/logs/squid.pid > /dev/null 2>&1
>>     (cd /tmp; /usr/local/squid/bin/RunCache > /dev/null 2>&1 &)
>>     echo -n 'squid'
>>stop)
>>     kill 'cat /usr/local/squid/var/logs/squid.pid'
>>esac
>>exit 0
>>
>>#или вот так
>>/usr/local/squid/bin/RunCache
>>
>>Хочется как-то это дело упорядочить под одно и чтобы в одном месте
>>было все.
>
>man rc.local
>
>Правильный подход - не трогать НИ ОДНОГО системного скрипта, все они
>устроены таким образом что позволяют через заданные переменные запускать
>свои скрипты. В верхнем мане ВСЕ расписано, в дополнение лишь man init,
>
>путь к стартап скриптам следует задавать в своем /etc/rc.conf по примеру
>
># grep local_startup /etc/defaults/rc.conf
>
>и вообще полезно посмотреть
>
># less /etc/defaults/*
>
>и на подобии этих make.conf и rc.conf иметь свои, со СВОИМИ НАСТРОЙКАМИ
>
>в /etc: /etc/make.conf и /etc/rc.conf, в тех дефолтных файлах описана масса полезных
>переменных, которые порверяются в скриптах /etc/rc*
>и в зависимости от значений производятся те или иные действия.
>
>Почему НЕ РЕКОМЕНДУЕТСЯ менять системные скрипты /etc/rc* - да потому
>что после upgrade'а и запуска mergemaster, старые с вашими правками,
>могут быть по забывчивости заменены на новые.
> Все свое, логичнее и удобнее держать в альтернативном дереве системы:
>/usr/local, для тех кто не понимает что это, посмотрите структуру
>директорий корня "/" и структуру директорий альтернативного корня "/usr/local" - обычно такое
>сравнение более понятно.

с этим более менее ясно.
а как насчет синтаксиса написания скриптов?
Какой из реальных манов посоветуете? man sh пойдет?


  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру