The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Скрипт автозапуска копии Squid"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Система. проблемы, диагностика / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"Скрипт автозапуска копии Squid"  +/
Сообщение от ikarus (ok) on 22-Окт-10, 08:53 
freebsd 7.3
Нужны три копии Squid'a, соответственно с своими конфигами, кэшем и логами. Сами конфиги пути до собственных логов и кэша настроены и вручную все отрабатывает. Осталось сделать им автостарт. Сделал копию скрипта сквида и пытаюсь настроить под запуск второй копии, банально изменил имена и подправил пути:

-------------------
#!/bin/sh
#
# $FreeBSD: ports/www/squid31/files/squid.in,v 1.5 2009/12/13 00:21:25 miwi Exp $
#
# PROVIDE: squidh
# REQUIRE: LOGIN
# KEYWORD: shutdown
#
# Note:
# Set "squidh_enable=yes" in either /etc/rc.conf, /etc/rc.conf.local or
# /etc/rc.conf.d/squid to activate Squid.


squidh_checkrunning() {
        ${command} ${squidh_flags} -k check 2>/dev/null
}

squidh_setfib() {
        sysctl net.fibs >/dev/null 2>&1 || return 0
        if [ "x${squidh_fib}" != "xNONE" ]; then
                command="setfib -F ${squidh_fib} ${command}"
        else
                return 0
        fi
}

squidh_stop() {
        echo "Stopping ${name}."
        ${command} ${squidh_flags} -k shutdown
        run_rc_command poll
}

. /etc/rc.subr

name=squidh
rcvar=${name}_enable

command=/usr/local/sbin/squid
extra_commands=reload
reload_cmd="${command} ${squidh_flags} -k reconfigure"
start_precmd="squidh_setfib"
stop_precmd="squidh_checkrunning"
stop_cmd="squidh_stop"

load_rc_config ${name}

squidh_chdir=${squidh_chdir:-"/usr/local/squidh"}
squidh_conf=${squidh_conf:-"/usr/local/etc/squid/squidh.conf"}
squidh_enable=${squidh_enable:-"NO"}
squidh_fib=${squidh_fib:-"NONE"}
squidh_pidfile=${squidh_pidfile:-"/usr/local/squidh/squidh.pid"}
squidh_user=${squidh_user:-squid}

pidfile=${squidh_pidfile}
required_dirs=${squidh_chdir}

required_files=${squidh_conf}

run_rc_command "$1"
------------------------------

в rc.conf: squidh_enable="YES"

делаю /usr/local/etc/rc.d/squidh start

пишет starting squidh
никаких ошибок, но в логах основного сквида (не копии): squid already running

и конечно же в итоге ничего не запускается

не силен в скриптах, но подозреваю что скрипт просто видит что сквид уже запущен ?!

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Скрипт автозапуска копии Squid"  +/
Сообщение от Pahanivo (ok) on 22-Окт-10, 10:28 
rc.conf покажи касаемо сквида
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Скрипт автозапуска копии Squid"  +/
Сообщение от ikarus (ok) on 22-Окт-10, 12:25 
> rc.conf покажи касаемо сквида

дэк там только squid_enable="YES" и уж не знаю нужен ли squidh_enable="YES"

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Скрипт автозапуска копии Squid"  +/
Сообщение от reader (ok) on 22-Окт-10, 10:56 
за pid-файлами последите
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "Скрипт автозапуска копии Squid"  +/
Сообщение от ikarus (ok) on 22-Окт-10, 12:27 
> за pid-файлами последите

в плане?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "Скрипт автозапуска копии Squid"  +/
Сообщение от reader (ok) on 22-Окт-10, 12:47 
>> за pid-файлами последите
> в плане?

убейте все squid-ы , очистите их pid-файлы и запускайте по одному и смотрите что бы каждый записывал номер процесса в свой pid-файл, если кто-то полезет не в свой, то с его конфигом и стартовым скриптом и разбирайтесь.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "Скрипт автозапуска копии Squid"  +/
Сообщение от Pahanivo (ok) on 22-Окт-10, 12:50 
>>> за pid-файлами последите
>> в плане?
> убейте все squid-ы , очистите их pid-файлы и запускайте по одному и
> смотрите что бы каждый записывал номер процесса в свой pid-файл, если
> кто-то полезет не в свой, то с его конфигом и стартовым
> скриптом и разбирайтесь.

врядли )

squidh_pidfile=${squidh_pidfile:-"/usr/local/squidh/squidh.pid"}
squidh_user=${squidh_user:-squid}

pidfile=${squidh_pidfile}
required_dirs=${squidh_chdir}

я бы первым делом проверил порт, в скрипте я его не вижу ))

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

7. "Скрипт автозапуска копии Squid"  +/
Сообщение от reader (ok) on 22-Окт-10, 13:14 
>[оверквотинг удален]
>>> в плане?
>> убейте все squid-ы , очистите их pid-файлы и запускайте по одному и
>> смотрите что бы каждый записывал номер процесса в свой pid-файл, если
>> кто-то полезет не в свой, то с его конфигом и стартовым
>> скриптом и разбирайтесь.
> врядли )
> squidh_pidfile=${squidh_pidfile:-"/usr/local/squidh/squidh.pid"}
> squidh_user=${squidh_user:-squid}
> pidfile=${squidh_pidfile}
> required_dirs=${squidh_chdir}

это я видел , но тем не менее ...

> я бы первым делом проверил порт, в скрипте я его не вижу
> ))

порт в конфиге задается, хотя в скрипте тоже можно.

http://www.opennet.me/openforum/vsluhforumID1/90072.html

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

8. "Скрипт автозапуска копии Squid"  +/
Сообщение от ikarus (ok) on 22-Окт-10, 14:13 
>[оверквотинг удален]
>> смотрите что бы каждый записывал номер процесса в свой pid-файл, если
>> кто-то полезет не в свой, то с его конфигом и стартовым
>> скриптом и разбирайтесь.
> врядли )
> squidh_pidfile=${squidh_pidfile:-"/usr/local/squidh/squidh.pid"}
> squidh_user=${squidh_user:-squid}
> pidfile=${squidh_pidfile}
> required_dirs=${squidh_chdir}
> я бы первым делом проверил порт, в скрипте я его не вижу
> ))

pid'ы у каждого свои, это я сразу проверил, порты в конфигах тоже у каждого свои.

Вообщем я попытался написать скрипт собственноручно и попроще, он работает, но не стартует при запуске системы:
--------------------
#!/bin/sh
#

echo -n 'squidh'

case "$1" in
start)
        /usr/local/sbin/squid -f /usr/local/etc/squid/squidh.conf
        ;;
stop)
        /usr/local/sbin/squid -k shutdown -f /usr/local/etc/squid/squidh.conf
        ;;
*)
        echo "Usage: 'basename $0' {start|stop}" >&2
        exit 64
        ;;
esac

exit 0

-------------------------

лежит в rc.d, chmod на нем 755

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

9. "Скрипт автозапуска копии Squid"  +/
Сообщение от reader (ok) on 22-Окт-10, 15:13 
>[оверквотинг удален]
>         ;;
> *)
>         echo "Usage: 'basename $0'
> {start|stop}" >&2
>         exit 64
>         ;;
> esac
> exit 0
> -------------------------
> лежит в rc.d, chmod на нем 755

а имя файла на .sh заканчивается?

там вроде есть требования по оформлению скриптов.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

10. "Скрипт автозапуска копии Squid"  +/
Сообщение от andy (??) on 22-Окт-10, 17:03 
> pid'ы у каждого свои, это я сразу проверил, порты в конфигах тоже
> у каждого свои.
> Вообщем я попытался написать скрипт собственноручно и попроще, он работает, но не
> стартует при запуске системы:
> --------------------
> #!/bin/sh
> #

. /etc/rc.subr

>[оверквотинг удален]
>         ;;
> *)
>         echo "Usage: 'basename $0'
> {start|stop}" >&2
>         exit 64
>         ;;
> esac
> exit 0
> -------------------------
> лежит в rc.d, chmod на нем 755

Вообще почитайте - http://www.freebsd.org.ua/doc/ru_RU.KOI8-R/articles/rc-scrip...

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

11. "Скрипт автозапуска копии Squid"  +/
Сообщение от ikarus (ok) on 25-Окт-10, 13:10 
>[оверквотинг удален]
>> *)
>>         echo "Usage: 'basename $0'
>> {start|stop}" >&2
>>         exit 64
>>         ;;
>> esac
>> exit 0
>> -------------------------
>> лежит в rc.d, chmod на нем 755
> Вообще почитайте - http://www.freebsd.org.ua/doc/ru_RU.KOI8-R/articles/rc-scrip...

фууух, осилил... всем спасибо, но далеко не расходитесь :)

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

12. "Скрипт автозапуска копии Squid"  +/
Сообщение от andy (??) on 28-Окт-10, 11:12 
> фууух, осилил... всем спасибо, но далеко не расходитесь :)

Вы бы пример рабочий привели, дабы другие ищущие находили
решение.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

13. "Скрипт автозапуска копии Squid"  +/
Сообщение от ikarus (ok) on 09-Ноя-10, 13:09 
>> фууух, осилил... всем спасибо, но далеко не расходитесь :)
> Вы бы пример рабочий привели, дабы другие ищущие находили
> решение.

да все как всегда тривиально, главное внимательно соблюсти синтаксис

----------
#!/bin/sh
#
# PROVIDE: squidh
# REQUIRE: LOGIN named dnsmasq squidt
# KEYWORD: shutdown
#

squidh_enable=${squidh_enable-"NO"}
squidh_flags=${squidh_flags-""}
squidh_pidfile=${squidh_pidfile-"/usr/local/squidh/squidh.pid"}

. /etc/rc.subr

name="squidh"
rcvar=`set_rcvar`
command="/usr/local/sbin/squid"
command_args=" -f /usr/local/etc/squid/squidh.conf"

load_rc_config $name
pidfile="${squidh_pidfile}"

start_cmd="echo \"Starting ${name}.\"; /usr/bin/nice -5 ${command} ${squidh_flags} ${command_args}"

run_rc_command "$1"

--------------------

простецкий скрипт получился, но все что надо делает, автостартует после демонов указанных в "REQUIRE:" (squidt еще одна подобная копия сквида) и останавливается после shutdown,
лежит в rc.d, chmod 555, pid-файл отдельный, создается из конфига, так же как и логи и кэш, да и не забыть в rc.conf соответ.запись внести, в данном случае - squidh_enable=YES

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

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




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

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