Модераторы: powerfox, ZeeLax

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Установка кластера серверов 1С под, Fedora Linux 
V
    Опции темы
mihanik
Дата 12.7.2009, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 1
Всего: 109



Тогда не понял, к чему была фраза

Цитата(bilbobagginz @  12.7.2009,  15:22 Найти цитируемый пост)
ты уверен, что понимаешь что такое "wine" ?




--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
mihanik
Дата 12.7.2009, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 1
Всего: 109



Относительно /var/lib/pgsql/data/postgresql.conf (взято с http://www.nclug.ru/content.php?article.160)

Это реально работает!!!


Цитата

параметр effective_cache_size должен принимать значение, равное как минимум половине оперативной памяти сервера в килобайтах, то есть для 8G он будет равен 524288;


Это сообщение отредактировал(а) mihanik - 13.7.2009, 00:25


--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
mihanik
Дата 12.7.2009, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 1
Всего: 109



Еще тносительно /var/lib/pgsql/data/postgresql.conf

Взято с http://wiki.e-lug.ru/index.php?title=Debia...1c_Linux-server


ОСТОРОЖНО!!!
У меня после этого postgres упал!!!


Цитата

/var/lib/data/postgresql.conf:

# память - побольше
temp_buffers = 16MB
work_mem = 16MB
maintance_work_mem = 32MB

# рекомендуют половину физической памяти
effective_cache_size = 1024MB

fsync = off
wal_buffers = 1024kB

# НАДО для нормальной работы 1С
autovacuum = on
autovacuum_naptime = 5min

# тут надо выставить немного больше оригинального значения
max_lock_per_transaction = 256
deadlock_timeout = 2s



Это сообщение отредактировал(а) mihanik - 13.7.2009, 00:24


--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
mihanik
Дата 13.7.2009, 00:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 1
Всего: 109



Цитата(mihanik @  12.7.2009,  23:42 Найти цитируемый пост)
ОСТОРОЖНО!!!
У меня после этого postgres упал!!!

Причём реально так упал... Переустанавливать пришлось...



--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
mihanik
Дата 13.7.2009, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 1
Всего: 109



Итак... Сегодня проводил лабораторные испытания у себя в офисе.

Прикольно.

1. Кластер серверов у меня поднят на линуксе, как вы уже догадались, на ноуте. 
проц - пентиум 1.7
оперативы - 1.2 Гб
раздел под файловую систему линукса - 20 Гб

2. Подключал к этому импровизированному серверу 10 виндовых машин. Одновременно запускал на формирование достаточно сложные отчёты...
Всё прошло ОТЛИЧНО!!!
Правда нагрузка на процессор у ноута не опускалась ниже 97%...  smile 
Оперативка же при этом была занята не полностью. Примерно где-то на 850 Мб.  smile 

3. Отметил одну прикольную особенность (в инете об этом уже писали), кластер серверов у меня работал БЕЗ КЛЮЧА ЗАЩИТЫ!!!
Правда, из некоторых источников можно услышать, что в таком случае возможно подключение только 12-ти  клиентских машин - максимум... Но мне на это наплевать.
Пока наплевать...  smile 
Потом как-нибудь проведу испытания направленные на уточнение максимального числа одновременно подключаемых клиентских машин.

Следующим этапом испытаний будет запуск кластера серверов не под ASP, а под Fedora.



--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
bilbobagginz
Дата 13.7.2009, 23:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 14
Всего: 317



если ты прав, и весь этот твой "кластер серверов" - всего лишь набор настроек для стандартных сервисов, то эти стандартные сервисы можно перенастроить, и убрать какие-либо ограничения или ключи.
но всё-таки сдаётся мне, что есть там какой-то мета-сервис, бинарник, к которому подключаются клиенты. Иначе не стыкуется у меня ничего.




--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
mihanik
Дата 14.7.2009, 07:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 1
Всего: 109



Цитата

Кластер серверов 1С:Предприятия 8 является логическим понятием и представляет собой множество рабочих процессов, обслуживающих один и тот же набор информационных баз.


ПОдробнее тут - http://v8.1c.ru/overview/cluster.htm

Добавлено через 1 минуту и 27 секунд
В моём случае "Центральный сервер кластера" и "Сервер баз данных" - это одна и та же машина.



--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
bilbobagginz
Дата 18.7.2009, 02:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 14
Всего: 317



mihanik,
  • процессы кластера серверов:
    • ragent.exe
    • rmngr.exe
    • rphost.exe
  • хранилища данных:
    • список кластеров;
    • реестр кластера.
и после:
Особенности рабочих серверов под управлением Linux:
  • не могут взаимодействовать с СУБД Microsoft SQL Server
  • не поддерживается работа с СОМ-объектами
  • аутентификация на сервере выполняется по протоколу Kerberos
  • не доступна работа с Интернет-соединением
скорее всего программы работают из под wine

проверить это просто, посмотри если бежит процесс wine






Это сообщение отредактировал(а) bilbobagginz - 18.7.2009, 03:01


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
mihanik
Дата 18.7.2009, 06:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 1
Всего: 109



Цитата(bilbobagginz @  18.7.2009,  02:57 Найти цитируемый пост)
скорее всего программы работают из под wine

проверить это просто, посмотри если бежит процесс wine


По-моему не бежит...
Конечно посмотрю повнимательнее, но до этого не замечал...

У меня тут сейчас другая проблема...
Под 11-й федорой работать не хочет...



--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
bilbobagginz
Дата 18.7.2009, 06:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 14
Всего: 317



Цитата(mihanik @  18.7.2009,  06:22 Найти цитируемый пост)
Под 11-й федорой работать не хочет...

пакеты из отряда 1С надо настраивать по инструкции производителя, особенно если нет опыта.



--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
mihanik
Дата 18.7.2009, 06:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 1
Всего: 109



Цитата(bilbobagginz @  18.7.2009,  06:40 Найти цитируемый пост)
пакеты из отряда 1С надо настраивать по инструкции производителя, особенно если нет опыта.

В том-то и дело, что установка отрабатывает штатно.
postgrtesql запускается без ошибок.
Сервер 1С же запускается с ошибкой.
Такое ощущение, что ему что-то мешает.
Буду разбираться, что именно.

Пока собираю симптомы...

Добавлено через 1 минуту и 29 секунд
Действуя по инструкции производителя всё встало на asp 11.2, по той же самой инструкции на fedora 11 устанавливается, но не работает...



--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
bilbobagginz
Дата 18.7.2009, 07:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 14
Всего: 317



Цитата(mihanik @  18.7.2009,  06:49 Найти цитируемый пост)
Такое ощущение, что ему что-то мешает.
Буду разбираться, что именно.

Пока собираю симптомы...

то, что "ему что-то наверное мешает" не похоже на сбор симптомов, а на гадание на кофейной гуще.
файлы-дневники надо смотреть СРАЗУ.
сначала системные, а потом дневники приложения. а не делать "смелые предположения".

Добавлено через 3 минуты и 40 секунд
Цитата(mihanik @  18.7.2009,  06:49 Найти цитируемый пост)
Действуя по инструкции производителя всё встало на asp 11.2, по той же самой инструкции на fedora 11 устанавливается, но не работает...

всегда надо читать:
1. аппаратные требования
2. поддерживаемые оперативные системы
3. программные требования (зависимости)

 (т.е. программные зависимости, напр. скрипты пользуются какой-то программой, которая по умолчанию не устанавливается. значит эти скрипты не будут работать)



--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
mihanik
Дата 18.7.2009, 07:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 1
Всего: 109



Цитата(bilbobagginz @  18.7.2009,  07:04 Найти цитируемый пост)
1. аппаратные требования
2. поддерживаемые оперативные системы
3. программные требования (зависимости)



1. Аппаратные требования не указаны.
2. Поддерживаемые операционные системы я уже выкладывал. (Fedora 11 среди них нет)
    * Fedora Core 4
    * Fedora Core 5
    * Fedora Core 6
    * Red Hat Enterprise Linux 4 update 4
    * ASP Linux 11
3. программные требования (зависимости) не прописаны...


На ASP Linux 11 всё отлично работает, но меня она не устраивает по причине того, что мамка на компе современная и ASP Linux 11 просто не устанавливается на этот комп, если включен raid-контроллер. А без этого raid-массив не фурфчит.
Кроме того, гигабитная сетевуха не определяется.

Fedora 11 на это железо встаёт отлично.
Штатная установка сервера 1С проходит без ошибок.
А потом при запуске выдаёт следующее...

Цитата

[root@fedora mihanik]# /etc/rc.d/init.d/srv1cv81 restart
Stopping 1C:Enterprise 8.1 server: Warning: server not running!
OK
Starting 1C:Enterprise 8.1 server:   Error: service failed to start!
FAILED

[root@fedora mihanik]# /etc/rc.d/init.d/srv1cv81 restart
Stopping 1C:Enterprise 8.1 server: Warning: server not running!
OK
Starting 1C:Enterprise 8.1 server: OK
[root@fedora mihanik]# 


Т.Е. при первом запуске ошибка, при повторном запуске запускается, но не работает.
Файлы с нужными настройками не создаются.
Точнее... Файлы создаются, но  с нулевыми настройками (какой-то текст в файлах есть)... В них нет нужных данных.

Добавлено через 5 минут и 8 секунд
Тут тонкость...
При первом запуске сервера 1С файлов с настройками нет.
Сервер видит, что файлов нет, собирает какую-то информацию, создаёт файлы и запускается.

ПРи повторном запуске настройки беруться именно из созданных ранее файлов.

При первом запуске происходит ошибка, но файлы с настройками (не верными) создаются.
При повторном запуске ошибок нет, служба запускается, но сервер не работает...

По-моему при первом запуске ошибка возникает где-то на стыке сервера 1с и postgres...

Добавлено через 14 минут и 41 секунду
Создаётся файл srvribrg.lst  с пустыми настройками 



Цитата

{

{0},

{0},0}



:-(


Это сообщение отредактировал(а) mihanik - 18.7.2009, 07:28


--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
mihanik
Дата 18.7.2009, 07:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 1
Всего: 109



Цитата

srvribrg.lst - хранится на центральном сервере кластера в каталоге <рабочий каталог центрального сервера> (например, C:/Program Files/1cv81/server/srvribrg.lst) и содержит список кластеров, зарегистрированных на данном компьютере сервера 1С:Предприятия. Содержащиеся в нем данные необходимы для нормальной работы приложений, использующих данный сервер 1С:Предприятия.



В нём должно быть что-то типа

Цитата

{0,
{a5f05ab2-4e43-11dd-bf8a-080027abb90f,"Локальный кластер",1541,"rhel4",0,0,0,0},
{0},
{1,
{a727bb0a-4e43-11dd-bf8a-080027abb90f,"rhel4",1,0,1000}
},
{0},
{1,
{a7264310-4e43-11dd-bf8a-080027abb90f,"Центральный сервер",1540,"rhel4",1,
{1,
{1560,1591}
},"","tj5daRhzSSf5IxrUd1r7yA=="}
}
}
srvribrg.lst
{
{1,
{a5f05ab2-4e43-11dd-bf8a-080027abb90f,"Локальный кластер",1541,"rhel4",0,0,0,0}
},
{0},0}


Добавлено через 2 минуты и 36 секунд
Нашёл кое-что тут - http://www.1c-pro.ru/lofiversion/index.php/t12812.html



--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
mihanik
Дата 18.7.2009, 08:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 1
Всего: 109



Может, кто-то специалист в скриптах?

СЕрвер 1С инициализируется так...

Код

# chkconfig: 35 74 36
# description: Starts and stops the 1C:Enterprise daemons

#------------------------------------------------------------
# global macros. generated by install script
#------------------------------------------------------------
G_CONF_STYLE=rpm
G_VER_ARCH=i386
G_VER_MAJOR=8
G_VER_MINOR=1
G_VER_BUILD=13
G_VER_RELEASE=41
G_BINDIR="/opt/1C/v${G_VER_MAJOR}.${G_VER_MINOR}/${G_VER_ARCH}"
#------------------------------------------------------------

G_VER_SHORT=${G_VER_MAJOR}.${G_VER_MINOR}
G_TITLE="1C:Enterprise ${G_VER_SHORT} server"

#------------------------------------------------------------
# this values can be passed from outside, so perform "z-check"
#------------------------------------------------------------
[ -z "$SRV1CV8_USER"      ] && SRV1CV8_USER=usr1cv${G_VER_MAJOR}${G_VER_MINOR}
[ -z "$SRV1CV8_BINDIR"    ] && SRV1CV8_BINDIR="$G_BINDIR"
[ -z "$SRV1CV8_PIDFILE"   ] && SRV1CV8_PIDFILE="/var/run/srv1cv${G_VER_MAJOR}${G_VER_MINOR}.pid"
[ -z "$SRV1CV8_KEYTAB"    ] && SRV1CV8_KEYTAB="$SRV1CV8_BINDIR/$SRV1CV8_USER.keytab"
[ -z "$SRV1CV8_WAITSTART" ] && SRV1CV8_WAITSTART=5
[ -z "$SRV1CV8_WAITSTOP"  ] && SRV1CV8_WAITSTOP=5

#------------------------------------------------------------
# builds ragent's command line from configuration parameters
#------------------------------------------------------------
function buildCommandLine() {
    local cmdline="$SRV1CV8_BINDIR/ragent -daemon"
    [ ! -z "$SRV1CV8_PORT" ] && cmdline="$cmdline -port $SRV1CV8_PORT"
    [ ! -z "$SRV1CV8_REGPORT" ] && cmdline="$cmdline -regport $SRV1CV8_REGPORT"
    [ ! -z "$SRV1CV8_DATA" ] && cmdline="$cmdline -d \"$SRV1CV8_DATA\""
    [ ! -z "$SRV1CV8_RANGE" ] && cmdline="$cmdline -range $SRV1CV8_RANGE"
    [ ! -z "$SRV1CV8_SECLEV" ] && cmdline="$cmdline -seclev $SRV1CV8_SECLEV"
    [ "x$SRV1CV8_DEBUG" == "x1" ] && cmdline="$cmdline -debug"
    echo $cmdline
}
#------------------------------------------------------------
# checks if process with passed pid exists
#------------------------------------------------------------
function checkpid() {
    ps -p $* > /dev/null
}
#------------------------------------------------------------
# waits SRV1CV8_WAITSTOP seconds for process termination, 
# then kills it
#------------------------------------------------------------
function delayedkill() {
    local mypid=$1
    local delay=$2
    kill $mypid 2>/dev/null
    checkpid $mypid && sleep $delay || return 0
    if checkpid $mypid; then
    kill -9 $mypid
    logWarning "Process refused to die... So it was killed. May be you should increase SRV1CV8_WAITSTOP variable?";
    fi
    return 0
}
#------------------------------------------------------------
# extracts specified param from value from given command-line
#------------------------------------------------------------
function extractParam() {
    local param=$1
    shift

    local tmp=$*
    if [ ! -z "$*" ]; then
    if [ ${tmp:0:1} == "-" ]; then
        tmp=${tmp:1}
        local val=${tmp#*$param }
        # if old and new strings are equal
        # we don't have needed param in cmdline
        # so return
        [ "$val" == "$tmp" ] && return;
        val=${val%% -*}
        echo "$val"
    fi
    fi
}
#------------------------------------------------------------
# call it when something fails
#------------------------------------------------------------
function failure() {
    [ "$BOOTUP" != "verbose" -a -z "$LSB" ] && echo FAILED
    return 0
}
#------------------------------------------------------------
# extracts data dir from ragent's command line or (if it's 
# empty), builds it from users's home dir
#------------------------------------------------------------
function getDataDir() {
    local cmdline=`getRagentRealCmdLine`
    local datadir="$SRV1CV8_DATA"
    [ ! -z "$cmdline" ] && datadir=`extractParam d $cmdline`

    if [ -z "$datadir" ]; then
    local line=`grep ^$SRV1CV8_USER: /etc/passwd`
    local homedir=${line#*:*:*:*:*:}
    homedir=${homedir%:*}
    datadir="$homedir/.1cv${G_VER_MAJOR}${G_VER_MINOR}/1C/1Cv${G_VER_MAJOR}${G_VER_MINOR}"
    fi

    echo $datadir
}
#------------------------------------------------------------
# returns ragent configuration debug flag
#------------------------------------------------------------
function getDebugStatus() {
    local cmdline=`getRagentRealCmdLine`
    local debugFlag="$SRV1CV8_DEBUG"
    echo "$cmdline" | grep "\-debug" >/dev/null && debugFlag="1"
    [ ! -z "$debugFlag" ] && echo $debugFlag || echo "0"
}
#------------------------------------------------------------
# returns ragent port range
#------------------------------------------------------------
function getPortRange() {
    local cmdline=`getRagentRealCmdLine`
    local range="$SRV1CV8_RANGE"
    [ ! -z "$cmdline" ] && range=`extractParam range $cmdline`
    [ ! -z "$range" ] && echo $range || echo 1560:1591
}
#------------------------------------------------------------
# returns ragent main port
#------------------------------------------------------------
function getRagentPort() {
    local cmdline=`getRagentRealCmdLine`
    local port="$SRV1CV8_PORT"
    [ ! -z "$cmdline" ] && port=`extractParam port $cmdline`
    [ ! -z "$port" ] && echo $port || echo 1540
}
#------------------------------------------------------------
# get's running ragent command-line
#------------------------------------------------------------
function getRagentRealCmdLine() {
    local cmdline=`buildCommandLine`
    local mypid=`getRagentPid "$SRV1CV8_USER" "$cmdline"`
    local result=""
    [ ! -z "$mypid" ] && result=`ps --pid $mypid -o cmd= | sed -e "s/.*-daemon//"`
    echo "$result"
}
#------------------------------------------------------------
# tries to get pid of ragent process, started by this script
#------------------------------------------------------------
function getRagentPid() {
    local user=$1
    shift

    # remove quotes in passed CMDLINE because
    # command line of process doesn't contains'em
    # even if they were passed.
    local cmdline=`echo $* | sed -e "s/\"//g"`

    ps -C ragent -opid=,user=,cmd= | while read curline; do
        local  curPID=`echo $curline | sed -e "s/ .*//"`
        local curline=`echo $curline | sed -e "s/$curPID //"`
        local  curUSR=`echo $curline | sed -e "s/ .*//"`
        local  curCMD=`echo $curline | sed -e "s/$curUSR //"`
        if [ "$curCMD" == "$cmdline" ] && [ "$curUSR" == "$user" ]; then
            echo $curPID
        fi
    done
}
#------------------------------------------------------------
# returns ragent reg port
#------------------------------------------------------------
function getRegPort() {
    local cmdline=`getRagentRealCmdLine`
    local regport="$SRV1CV8_REGPORT"
    [ ! -z "$cmdline" ] && regport=`extractParam regport $cmdline`
    [ ! -z "$regport" ] && echo $regport || echo 1541
}
#------------------------------------------------------------
# returns name of script
#------------------------------------------------------------
function getScriptName() {
    local myname=`basename $0`
    [ ${myname:0:1} = "S" -o ${myname:0:1} = "K" ] && myname=${myname:3}
    echo $myname
}
#------------------------------------------------------------
# returns ragent security level
#------------------------------------------------------------
function getSecLevel() {
    local cmdline=`getRagentRealCmdLine`
    local seclev="$SRV1CV8_SECLEV"
    [ ! -z "$cmdline" ] && seclev=`extractParam seclev $cmdline`
    [ ! -z "$seclev" ] && echo $seclev || echo 0
}
#------------------------------------------------------------
# displays useful information about ragent
#------------------------------------------------------------
function info() {
    echo "$G_TITLE info:"
    echo -n "  Data dir: " && getDataDir
    echo -n " Main port: " && getRagentPort
    echo -n "   RegPort: " && getRegPort
    echo -n "Port range: " && getPortRange
    echo -n "Debug mode: " && getDebugStatus
    echo -n "Sec. level: " && getSecLevel
    return 0
}
#------------------------------------------------------------
# check if our ragent running
#------------------------------------------------------------
function isRagentRunning() {
    local mypid=`getRagentPid $*`
    [ ! -z "$mypid" ] && checkpid "$mypid"
}
#------------------------------------------------------------
# talks to stderr, and then logs failure to stdout
#------------------------------------------------------------
function logError() {
    echo -n "  Error: " >&2
    echo $* >&2
    failure
}
#------------------------------------------------------------
# put some additional non-critical debug info to stderr
#------------------------------------------------------------
function logWarning() {
    echo -n "Warning: " >&2
    echo $* >&2
}
#------------------------------------------------------------
# restarts server
#------------------------------------------------------------
function restart() {
    stop
    start
}
#------------------------------------------------------------
# displays command-line help
#------------------------------------------------------------
function showUsage() {
    local myname=$1
    echo "Usage: $myname [-c config] start|stop|restart|status|info"
}
#------------------------------------------------------------
# starts ragent
#------------------------------------------------------------
function start() {
    echo -n "Starting $G_TITLE: "

    if [ ! -z "$SRV1CV8_DATA" ]; then
    if [ -e "$SRV1CV8_DATA" ]; then
        [ ! -d "$SRV1CV8_DATA" ] && { logError "SRV1CV8_DATA \"$SRV1CV8_DATA\" is a file, not a directory!"; return 0; }
    fi
    fi

    [ ! -f "$SRV1CV8_BINDIR/ragent" ] && { logError "ragent file does not exists!" ; return 0; }
    [ ! -x "$SRV1CV8_BINDIR/ragent" ] && { logError "ragent file is not executable!"; return 0; }

    local cmd2run=`buildCommandLine`

    if isRagentRunning "$SRV1CV8_USER" "$cmd2run"; then
    logWarning "already started!"; 
    else
        # run our process
    if [ -z "$SRV1CV8_USER" ]; then
        export KRB5_KTNAME="$SRV1CV8_KEYTAB"
        $cmd2run
    else
        su -s /bin/bash  - "$SRV1CV8_USER" -c "KRB5_KTNAME=\"$SRV1CV8_KEYTAB\" $cmd2run"
    fi

    sleep $SRV1CV8_WAITSTART # wait a bit before check
    ! isRagentRunning "$SRV1CV8_USER" "$cmd2run" && { logError "service failed to start!"; return 0; }
        
        # check if pidfile exists and remove it if neccessary
        [ -f "$SRV1CV8_PIDFILE" ] && logWarning "pid file existed on server start. it can mean that last run failed..."    
    fi

    local mypid=`getRagentPid $SRV1CV8_USER $cmd2run`
    echo ${mypid} > "$SRV1CV8_PIDFILE"

    success
    return 0
}
#------------------------------------------------------------
# displays ragent status
#------------------------------------------------------------
function status() {
    echo "$G_TITLE status:"
    echo -n "Init script: "
    if [ -f "$SRV1CV8_PIDFILE" ]; then
    echo STARTED.

    local cmd2run=`buildCommandLine`
    echo -n "     Ragent: "
    ! isRagentRunning "$SRV1CV8_USER" "$cmd2run" && echo -n "NOT "
    echo "RUNNING."
    else
    echo NOT STARTED.
    fi
    return 0
}
#------------------------------------------------------------
# stops ragent
#------------------------------------------------------------
function stop() {
    echo -n "Stopping $G_TITLE: "

    [ -f "$SRV1CV8_PIDFILE" ] && rm "$SRV1CV8_PIDFILE"

    local cmd2run=`buildCommandLine`
    if isRagentRunning "$SRV1CV8_USER" "$cmd2run"; then
    mypid=`getRagentPid $SRV1CV8_USER $cmd2run`
    if [ ! -z "$mypid" ]; then
        local childpids=`ps --ppid ${mypid} -o pid=`
        delayedkill $mypid $SRV1CV8_WAITSTOP
        for childpid in $childpids; do
        delayedkill $childpid $SRV1CV8_WAITSTOP
        done
    fi
    else
    logWarning "server not running!"
    fi

    success
    return
}
#------------------------------------------------------------
# functions says something succeded
#------------------------------------------------------------
function success() {
    [ "$BOOTUP" != "verbose" -a -z "$LSB" ] && echo OK
    return 0
}

#------------------------------------------------------------
# script's main function
#------------------------------------------------------------
function main() {
    local myname=`getScriptName`
    local dirname=`dirname $0`
    local realdir=$(cd "$dirname"; pwd)

    # check if someone passed different config throug command-line option
    local configFile=
    [ "$1" == "-c" ] && { configFile="$2"; shift 2; }

    local action=

    case $1 in
    '')
        showUsage $myname
        return 1
        ;;
    --help)
        showUsage $myname
        return 0
        ;;
    info)
        action=info
        ;;
    restart)
        action=restart
        ;;
    start)
        action=start
        ;;
    status)
        action=status
        ;;
    stop)
        action=stop
        ;;
    *)
        showUsage $myname
        return 1;
        ;;
    esac
    # check for config file existence
    if [ -z "$configFile" ]; then
    configFile="/etc/sysconfig/$myname"
    [ -e "$configFile" ] && source "$configFile"
    else
    [ -f "$configFile" ] && source "$configFile"
    fi

    $action
}

#invoke function main
main $*


может, это поможет?

Так понимаю, что ragent не запускается...

Это взял из того, что фраза "service failed to start!" встречается в скрипте всего один раз в секции

Код

#------------------------------------------------------------
# starts ragent
#------------------------------------------------------------
function start() {
    echo -n "Starting $G_TITLE: "

    if [ ! -z "$SRV1CV8_DATA" ]; then
    if [ -e "$SRV1CV8_DATA" ]; then
        [ ! -d "$SRV1CV8_DATA" ] && { logError "SRV1CV8_DATA \"$SRV1CV8_DATA\" is a file, not a directory!"; return 0; }
    fi
    fi

    [ ! -f "$SRV1CV8_BINDIR/ragent" ] && { logError "ragent file does not exists!" ; return 0; }
    [ ! -x "$SRV1CV8_BINDIR/ragent" ] && { logError "ragent file is not executable!"; return 0; }

    local cmd2run=`buildCommandLine`

    if isRagentRunning "$SRV1CV8_USER" "$cmd2run"; then
    logWarning "already started!"; 
    else
        # run our process
    if [ -z "$SRV1CV8_USER" ]; then
        export KRB5_KTNAME="$SRV1CV8_KEYTAB"
        $cmd2run
    else
        su -s /bin/bash  - "$SRV1CV8_USER" -c "KRB5_KTNAME=\"$SRV1CV8_KEYTAB\" $cmd2run"
    fi

    sleep $SRV1CV8_WAITSTART # wait a bit before check
    ! isRagentRunning "$SRV1CV8_USER" "$cmd2run" && { logError "service failed to start!"; return 0; }
        
        # check if pidfile exists and remove it if neccessary
        [ -f "$SRV1CV8_PIDFILE" ] && logWarning "pid file existed on server start. it can mean that last run failed..."    
    fi

    local mypid=`getRagentPid $SRV1CV8_USER $cmd2run`
    echo ${mypid} > "$SRV1CV8_PIDFILE"

    success
    return 0
}


Это сообщение отредактировал(а) mihanik - 18.7.2009, 08:25


--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Клуб юнуксоидов"
powerfox
ZeeLax
nickless

Что такое клуб юнуксоидов?

Это место более свободного общения специалистов и любителей *NIX систем.


Новичкам: Этот раздел предназначен в основном именно для общения а не решения проблем.


Правила всего раздела Linux/UNIX сюда не распространяются, но здесь имеются свои правила:


  • Оскорбления запрещены.
  • Holy wars разрешены, но в небольших размерах. Если вы создаёте что-то уровня Windows vs. Linux, то постите это в Религиозных войнах, пожалуйста.
  • Если вы хотите выставить здесь какое-либо своё творение - милости просим.
  • За интересные новости, интересные статьи, высказывания и юмор (в тему) + в репу.

Короче, по репе получите по полной программе ;-) Happy hacking!



Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Клуб юнуксоидов | Следующая тема »


 




[ Время генерации скрипта: 0.1193 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.