Страница 1 из 2

sh скрипт при запуске системы

Добавлено: 2009-08-07 18:23:24
m4rkell
Ребят не пинайте, но никак не допру, короче есть скрипт mrim шлюз для openfire, я загнал его в крон чтобы стартовал при старте системы, но как сделать его старт после опенфайера? может его как нить в rc.conf прописать?

Re: sh скрипт при запуске системы

Добавлено: 2009-08-07 18:48:57
CaBa
А не проще ли создать rc.d скрипт для него?
и в REQUIRE прописать OPENFIRE?

я для себя вот такой построил:

Код: Выделить всё

#!/bin/sh
#
#
# PROVIDE: jabber_mrim
# REQUIRE: DAEMON openfire
# KEYWORD: shutdown
#
# Define these jabber_mrim_* variables in one of these files:
#       /etc/rc.conf
#       /etc/rc.conf.local
#

. /etc/rc.subr

name="jabber_mrim"
rcvar=`set_rcvar`
load_rc_config $name

: ${jabber_mrim_enable="NO"}
: ${jabber_mrim_dir="/usr/local/etc/openfire/mrim/src"}
: ${jabber_mrim_piddir="/var/run"}
: ${jabber_mrim_confdir="/usr/local/etc/openfire/mrim"}

pidfile="${jabber_mrim_piddir}/mrim.pid"
conffile="${jabber_mrim_confdir}/mrim.conf"
command_interpreter="/usr/local/bin/python2.5"
command="/usr/local/etc/openfire/mrim/src/mrim.py"
command_args="-d -c ${conffile} -p ${pidfile}"

stop_cmd="kill -INT `cat /var/run/mrim.pid`"

run_rc_command "$1" 
Вроде нормально стартует.

Re: sh скрипт при запуске системы

Добавлено: 2009-08-07 19:07:27
CaBa
Ну и потом соответственно в rc.conf прописать запуск. :smile:

Re: sh скрипт при запуске системы

Добавлено: 2009-08-07 19:08:55
m4rkell
Огромное спасибо!!! :) у самого просто голова на такое не способна)))





CaBa писал(а):А не проще ли создать rc.d скрипт для него?
и в REQUIRE прописать OPENFIRE?

я для себя вот такой построил:

Код: Выделить всё

#!/bin/sh
#
#
# PROVIDE: jabber_mrim
# REQUIRE: DAEMON openfire
# KEYWORD: shutdown
#
# Define these jabber_mrim_* variables in one of these files:
#       /etc/rc.conf
#       /etc/rc.conf.local
#

. /etc/rc.subr

name="jabber_mrim"
rcvar=`set_rcvar`
load_rc_config $name

: ${jabber_mrim_enable="NO"}
: ${jabber_mrim_dir="/usr/local/etc/openfire/mrim/src"}
: ${jabber_mrim_piddir="/var/run"}
: ${jabber_mrim_confdir="/usr/local/etc/openfire/mrim"}

pidfile="${jabber_mrim_piddir}/mrim.pid"
conffile="${jabber_mrim_confdir}/mrim.conf"
command_interpreter="/usr/local/bin/python2.5"
command="/usr/local/etc/openfire/mrim/src/mrim.py"
command_args="-d -c ${conffile} -p ${pidfile}"

stop_cmd="kill -INT `cat /var/run/mrim.pid`"

run_rc_command "$1" 
Вроде нормально стартует.

Re: sh скрипт при запуске системы

Добавлено: 2009-08-07 19:18:39
CaBa
Да это просто передрал стартовый конфиг pyicqt. ;-)
Единственное там грабли с:

Код: Выделить всё

stop_cmd="kill -INT `cat /var/run/mrim.pid`"
ругается, что ему не нравиться запись

Код: Выделить всё

`cat /var/run/mrim.pid`
, но я на это забил.
Там в конфиге пути на свои поправить нужно. И в /etc/rc.conf прописать jabber_mrim_enable="YES"
А так стартует через ./jabber-mrim-transport start|stop и соответственно при старте системы.

Re: sh скрипт при запуске системы

Добавлено: 2009-08-07 19:22:36
m4rkell
CaBa писал(а):Да это просто передрал стартовый конфиг pyicqt. ;-)
Единственное там грабли с:

Код: Выделить всё

stop_cmd="kill -INT `cat /var/run/mrim.pid`"
ругается, что ему не нравиться запись

Код: Выделить всё

`cat /var/run/mrim.pid`
, но я на это забил.
Там в конфиге пути на свои поправить нужно. И в /etc/rc.conf прописать jabber_mrim_enable="YES"
А так стартует через ./jabber-mrim-transport start|stop и соответственно при старте системы.
Все ок зашуршал) единстеввное ругался на питон 2,5, поправил на свою версию 2,6 и отлично :) Еще раз спасибо!

Re: sh скрипт при запуске системы

Добавлено: 2009-08-07 19:48:57
CaBa
если вдруг заборешь
m4rkell писал(а):`cat /var/run/mrim.pid`
отпишись, а то влом самому разбираться :smile:

Re: sh скрипт при запуске системы

Добавлено: 2009-08-08 16:46:05
m4rkell
CaBa писал(а):если вдруг заборешь
m4rkell писал(а):`cat /var/run/mrim.pid`
отпишись, а то влом самому разбираться :smile:
да тоже ругается на это же)

ну вот засада в том что руками запускается) а вот с rc.conf не взлетает....вроде верно все прописал))) и права на скрипт rxrxrx как у всех. Может он и взлетает...но конекта к опенфаеру не идет...только когда руками стартанешь он конектица....

Re: sh скрипт при запуске системы

Добавлено: 2009-08-08 17:42:59
CaBa
а как в rc.conf прописан? мож где досадная ошибка закралась ;-)
у меня вроде стартует. даже при загрузке ругань видно.

Re: sh скрипт при запуске системы

Добавлено: 2009-08-08 17:51:44
m4rkell
CaBa писал(а):а как в rc.conf прописан? мож где досадная ошибка закралась ;-)
у меня вроде стартует. даже при загрузке ругань видно.
жаль я не вижу просто вначале так как удаленно сижу...

Все таки мне кажеться он не дожидается загрузки опенфаера, блин самый прикол что копирнул твой скрипт и по его типу настроил транспорт вконтакте))) целыйдень с ним бился...но запустил! и он запускается автоматом....легко...просто постоянно переконективается....

Да и мрим вроде как настроен на постоянный реконект...но чет не шуршит...

Re: sh скрипт при запуске системы

Добавлено: 2009-08-08 18:02:32
CaBa
переконнекчивается не раз в 5 минут??? у меня были грабли idle транспорты постоянно отпадали.

Re: sh скрипт при запуске системы

Добавлено: 2009-08-08 18:03:22
m4rkell
CaBa писал(а):переконнекчивается не раз в 5 минут??? у меня были грабли idle транспорты постоянно отпадали.
не он не отпадает...елси его просто убить с админки опенфаера, он переконечивается...

Re: sh скрипт при запуске системы

Добавлено: 2009-08-08 18:11:58
CaBa
ну если удалённо сидишь, попробуй посмотреть по логам и времени, что раньше стартует.

Re: sh скрипт при запуске системы

Добавлено: 2009-08-08 18:23:11
CaBa
да и вот тебе в руки инструмент для проверки:

http://forum.lissyara.su/viewtopic.php? ... er#p167666

Код: Выделить всё

[root@mail /var/log/mrim]# rcorder /etc/rc.d/* /usr/local/etc/rc.d/*
/etc/rc.d/dumpon
/etc/rc.d/ddb
/etc/rc.d/initrandom
/etc/rc.d/geli
/etc/rc.d/gbde
/etc/rc.d/encswap
/etc/rc.d/ccd
/etc/rc.d/swap1
/etc/rc.d/early.sh
/etc/rc.d/fsck
/etc/rc.d/root
/etc/rc.d/hostid
/etc/rc.d/mdconfig
/etc/rc.d/mountcritlocal
/etc/rc.d/zfs
/etc/rc.d/FILESYSTEMS
/etc/rc.d/var
/etc/rc.d/random
/etc/rc.d/adjkerntz
/etc/rc.d/atm1
/etc/rc.d/hostname
/etc/rc.d/ipfilter
/etc/rc.d/ipnat
/etc/rc.d/ipfs
/etc/rc.d/kldxref
/etc/rc.d/sppp
/etc/rc.d/addswap
/etc/rc.d/auto_linklocal
/etc/rc.d/sysctl
/etc/rc.d/serial
/etc/rc.d/cleanvar
/etc/rc.d/netif
/etc/rc.d/ip6addrctl
/etc/rc.d/atm2
/etc/rc.d/pfsync
/etc/rc.d/pflog
/etc/rc.d/pf
/etc/rc.d/isdnd
/etc/rc.d/ppp
/etc/rc.d/routing
/etc/rc.d/ip6fw
/etc/rc.d/network_ipv6
/etc/rc.d/devd
/etc/rc.d/ipsec
/etc/rc.d/ipfw
/etc/rc.d/nsswitch
/etc/rc.d/resolv
/etc/rc.d/mroute6d
/etc/rc.d/route6d
/etc/rc.d/mrouted
/etc/rc.d/routed
/etc/rc.d/netoptions
/etc/rc.d/NETWORKING
/etc/rc.d/mountcritremote
/etc/rc.d/accounting
/etc/rc.d/ldconfig
/etc/rc.d/devfs
/etc/rc.d/ipmon
/etc/rc.d/mdconfig2
/etc/rc.d/newsyslog
/etc/rc.d/syslogd
/etc/rc.d/savecore
/etc/rc.d/archdep
/etc/rc.d/abi
/etc/rc.d/SERVERS
/etc/rc.d/named
/etc/rc.d/ntpdate
/etc/rc.d/rpcbind
/etc/rc.d/nfsclient
/etc/rc.d/nisdomain
/etc/rc.d/ypserv
/etc/rc.d/ypbind
/etc/rc.d/amd
/etc/rc.d/atm3
/etc/rc.d/auditd
/etc/rc.d/tmp
/etc/rc.d/cleartmp
/etc/rc.d/dmesg
/etc/rc.d/ipxrouted
/etc/rc.d/kerberos
/etc/rc.d/kadmind
/etc/rc.d/keyserv
/etc/rc.d/kpasswdd
/etc/rc.d/quota
/etc/rc.d/nfsserver
/etc/rc.d/mountd
/etc/rc.d/nfsd
/etc/rc.d/statd
/etc/rc.d/lockd
/etc/rc.d/pppoed
/etc/rc.d/pwcheck
/etc/rc.d/virecover
/usr/local/etc/rc.d/openfire
/etc/rc.d/DAEMON
/etc/rc.d/apm
/etc/rc.d/apmd
/etc/rc.d/bootparams
/etc/rc.d/hcsecd
/etc/rc.d/bthidd
/etc/rc.d/local
.......
/usr/local/etc/rc.d/jabber-pyicq-transport
/usr/local/etc/rc.d/jabber-mrim-transport
.......
[root@mail /var/log/mrim]#

Re: sh скрипт при запуске системы

Добавлено: 2009-08-08 18:24:58
m4rkell
CaBa писал(а):да и вот тебе в руки инструмент для проверки:

http://forum.lissyara.su/viewtopic.php? ... er#p167666
ВОт те пасиба))) смотри че выдал:

Код: Выделить всё

Starting jabber_mrim.
env: python: No such file or directory

Re: sh скрипт при запуске системы

Добавлено: 2009-08-08 18:30:36
CaBa
ну нада походу докрутить скрипт..
ааа это ещё покрути настройки про питон в самом mrim.py.
там наверное тебе тоже нужно интерпретатор под свой подкрутить

Re: sh скрипт при запуске системы

Добавлено: 2009-08-08 18:40:54
m4rkell
CaBa писал(а):ну нада походу докрутить скрипт..
ааа это ещё покрути настройки про питон в самом mrim.py.
там наверное тебе тоже нужно интерпретатор под свой подкрутить
будешь ржать) в этом самом файле! в начале было:

Код: Выделить всё

#!/usr/bin/env python 
был прописан)))

Написал путь и вуаля! :)

Код: Выделить всё

#!/usr/local/bin/python2.5
Пасиба!)

А какие у тебя еще стоят транспорты? интересное ченить? :)

Re: sh скрипт при запуске системы

Добавлено: 2009-08-08 18:47:47
CaBa
JMC-забирает почту по pop3 и imap (вроде бы) c любого доступного mail-сервера.
Получается как уведомления у mail.агента.
http://people.happycoders.org/dax/projects/jmc/
только я его не допилил до конца, как его через rc.d скрипт заставить в бэкграунде выполнятся. он тож питоновский скрипт.
P.S. и если будешь ставить - ставь 0.2. 0.3 - чёто нормально не взлетает (или нужно руки к линейке приложить проверить :smile: )

Re: sh скрипт при запуске системы

Добавлено: 2011-05-26 13:56:40
nitrokamera
Помогите настроить стартовый скрипт для этой штуки...
Все делал как описано выше, с учетом разных версий PYTHON
Создаю файл в /usr/local/etc/rc.d/jabber_mrim с такими правами/опциями -rwxr-xr-x
Конфиг скрипта:

Код: Выделить всё

#!/bin/sh
#
#
# PROVIDE: jabber_mrim
# REQUIRE: DAEMON openfire
# KEYWORD: shutdown
#
# Define these jabber_mrim_* variables in one of these files:
#       /etc/rc.conf
#       /etc/rc.conf.local
#

. /etc/rc.subr

name="jabber_mrim"
rcvar=`set_rcvar`
load_rc_config $name

: ${jabber_mrim_enable="NO"}
: ${jabber_mrim_dir="/usr/home/klim/mrim/src"}
: ${jabber_mrim_piddir="/var/run"}
: ${jabber_mrim_confdir="/usr/home/klim/mrim"}

pidfile="${jabber_mrim_piddir}/mrim.pid"
conffile="${jabber_mrim_confdir}/mrim.conf"
command_interpreter="/usr/local/bin/python2.6"
command="/usr/home/klim/mrim/src/mrim.py"
command_args="-d -c ${conffile} -p ${pidfile}"

stop_cmd="kill -INT `cat /var/run/mrim.pid`"


run_rc_command "$1"
Вот что происходит при старте

Код: Выделить всё

# /usr/local/etc/rc.d/jabber_mrim start
Starting jabber_mrim.
# ps -ax | grep mrim
13634   1  S+     0:00.00 grep mrim
Транспорт не появляется.
В ручную же все работает!
./mrim.sh -c mrim.conf

Re: sh скрипт при запуске системы

Добавлено: 2011-05-26 14:59:25
manefesto
а в логах что ?

Re: sh скрипт при запуске системы

Добавлено: 2011-05-26 18:22:23
Gamerman
Может лучше указать полные пути к файлам?

Re: sh скрипт при запуске системы

Добавлено: 2011-05-26 21:32:06
manefesto
недавно мне залетела мысль в голову, добавить в rc.d новый стартовый скрипт с названием userscript
и rc.conf он бы выглядел так
userscript_enable="YES"
userscript_conf="-s /home/gif.sh"
если кто не понял то это скрипт поднятия gif интерфейса, а может быть вообще любой скрипт

Re: sh скрипт при запуске системы

Добавлено: 2011-05-27 8:06:42
nitrokamera
manefesto писал(а):а в логах что ?
Ничего информативного, как мне думается :smile:

Код: Выделить всё

/usr/local/lib/python2.6/site-packages/xmpp/auth.py:24: DeprecationWarning: the sha module is deprecated; use the ha
  import sha,base64,random,dispatcher
/usr/local/lib/python2.6/site-packages/xmpp/auth.py:26: DeprecationWarning: the md5 module is deprecated; use hashli
  import md5
Traceback (most recent call last):
  File "/usr/home/klim/mrim/src/mrim.py", line 54, in <module>
    import init
RuntimeError: not holding the import lock
/usr/local/lib/python2.6/site-packages/xmpp/auth.py:24: DeprecationWarning: the sha module is deprecated; use the ha
  import sha,base64,random,dispatcher
/usr/local/lib/python2.6/site-packages/xmpp/auth.py:26: DeprecationWarning: the md5 module is deprecated; use hashli
  import md5
Traceback (most recent call last):
  File "/usr/home/klim/mrim/src/mrim.py", line 54, in <module>
    import init
RuntimeError: not holding the import lock
Gamerman писал(а):Может лучше указать полные пути к файлам?
К каким именно? В скрипте вроде указано... сначала каталог потом файл в каталоге...
manefesto писал(а):недавно мне залетела мысль в голову, добавить в rc.d новый стартовый скрипт с названием userscript
и rc.conf он бы выглядел так
userscript_enable="YES"
userscript_conf="-s /home/gif.sh"
если кто не понял то это скрипт поднятия gif интерфейса, а может быть вообще любой скрипт
Можно по подробней? FreeBSD занимаюсь только второй месяц.

Re: sh скрипт при запуске системы

Добавлено: 2011-05-27 10:04:45
manefesto
да это моя идея.
а вообще воткни в openfire старт своего mrim

Re: sh скрипт при запуске системы

Добавлено: 2011-05-27 11:53:58
nitrokamera
manefesto писал(а):да это моя идея.
а вообще воткни в openfire старт своего mrim
Я ведь понятия не имею как писать скрипты... Не научите? :smile:
Скрипт openfire-а во вложении