Freesco, NND, CDN, EOS
http://forum.freesco.pl/

Autostart
http://forum.freesco.pl/viewtopic.php?f=22&t=9429
Strona 1 z 2

Autor:  wdca [ piątek, 14 października 2005, 12:24 ]
Tytuł:  Autostart

Próbowałem sobie zrobić wygodny skrypt uruchamiania mojego serwera DC++ - opendchub ,ale jakoś mi to nie chce wyjść.

Mój plik /etc/rc.d/opendchub wygląda tak:
: [/] [] ()
#!/bin/bash

. /etc/rc.conf
. /etc/rc.d/functions

case "$1" in
  start)
    stat_busy "Startuję Opendchub"
    /usr/local/bin/opendchub
    stat_done
    ;;
  stop)
    stat_busy "Zatrzymuję Opendchub"
    killall opendchub
    stat_done
    ;;
  restart)
    $0 stop
    sleep 1
    $0 start
    ;;
  *)
    echo "usage: $0 {start|stop|restart}" 
esac
exit 0


A w demonach dodałem jego nazwę:
: [/] [] ()
DAEMONS=(syslogd klogd crond sshd lan internet iptables niceshaper !xinetd dhcpd apache proftpd httpd dnsmasq opendchub)

Problem w tym ,że jak wydaję polecenie /etc/rc.d/opendchub start
serwer ładnie startuje i nie ma najmniejszego problemu.
Jednak przy ponownym uruchamianiu serwera pisze Startuję Opendchub [Wykonano] ,ale serwera nie ma - nawet na ps -e.
Jak mam rozwiązać ten problem?
Pozdrawiam!

Autor:  Mis' [ piątek, 14 października 2005, 13:43 ]
Tytuł:  Re: Autostart

wdca pisze:
Próbowałem sobie zrobić wygodny skrypt uruchamiania mojego serwera DC++ - opendchub ,ale jakoś mi to nie chce wyjść.

Mój plik /etc/rc.d/opendchub wygląda tak:
: [/] [] ()
#!/bin/bash

. /etc/rc.conf
. /etc/rc.d/functions

case "$1" in
  start)
    stat_busy "Startuję Opendchub"
    /usr/local/bin/opendchub
    stat_done
    ;;
  stop)
    stat_busy "Zatrzymuję Opendchub"
    killall opendchub
    stat_done
    ;;
  restart)
    $0 stop
    sleep 1
    $0 start
    ;;
  *)
    echo "usage: $0 {start|stop|restart}" 
esac
exit 0



Problem w tym ,że jak wydaję polecenie /etc/rc.d/opendchub start
serwer ładnie startuje i nie ma najmniejszego problemu.
Jednak przy ponownym uruchamianiu serwera pisze Startuję Opendchub [Wykonano] ,ale serwera nie ma - nawet na ps -e.


tak skonstruowany script zawsze pokaże że [Wykonano]... spróbuj tak:

: [/] [] ()
#!/bin/bash

. /etc/rc.conf
. /etc/rc.d/functions

PID=`pidof /usr/local/bin/opendchub`

case "$1" in
  start)
    stat_busy "Startuję Opendchub"
if [ -z "$PID" ]; then
    /usr/local/bin/opendchub 2>/var/log/dchub.log
   if [ $? = 0 ]; then
    add_daemon opencdhub
    stat_done
   else
     stat_fail
   fi
fi
    ;;
  stop)
    stat_busy "Zatrzymuję Opendchub"
    killall opendchub
if [ $? = 0 ]; then
rm_daemon opendchub
    stat_done
fi
    ;;
  restart)
    $0 stop
    sleep 1
    $0 start
    ;;
  *)
    echo "usage: $0 {start|stop|restart}" 
esac
exit 0

Autor:  wdca [ sobota, 15 października 2005, 10:09 ]
Tytuł: 

Twój skrypt działa identycznie. Manualne włączanie przy użyciu polecenia "/etc/rc.d/opendchub start" działa ,a włączenie przy starcie stystemu nie działa wogóle.
Log /var/log/dchub.log jest pusty.

Autor:  KrzySie [ sobota, 15 października 2005, 10:42 ]
Tytuł: 

wdca pisze:
Twój skrypt działa identycznie. Manualne włączanie przy użyciu polecenia "/etc/rc.d/opendchub start" działa ,a włączenie przy starcie stystemu nie działa wogóle.
Log /var/log/dchub.log jest pusty.

To może dopisz w sekcji DAEMON w /etc/rc.conf

Autor:  wdca [ sobota, 15 października 2005, 11:01 ]
Tytuł: 

To może byś pocztytał ze zrozumieniem ten fragment:
Cytuj:
A w demonach dodałem jego nazwę:

Kod:

DAEMONS=(syslogd klogd crond sshd lan internet iptables niceshaper !xinetd dhcpd apache proftpd httpd dnsmasq opendchub)

Autor:  Mis' [ sobota, 15 października 2005, 11:26 ]
Tytuł: 

wdca pisze:
Twój skrypt działa identycznie. Manualne włączanie przy użyciu polecenia "/etc/rc.d/opendchub start" działa ,a włączenie przy starcie stystemu nie działa wogóle.
Log /var/log/dchub.log jest pusty.


Ciekawe... przegapiłem jeden błąd: musisz dodać ;; (dwa średniki) po linii echo "usage: $0 {start|stop|restart}"
Czy coś dostajesz w logu po wykonaniu polecenia:

/usr/local/bin/opendchub 2>/var/log/dchub.log

chodzi mi o to czy przyuruchamianiu programu nie należy mu podać jakichś parametrów,

Autor:  wdca [ sobota, 15 października 2005, 11:32 ]
Tytuł: 

Serwer zawsze startował bez dodatkowych opcji. Jego output standardowo wygląda tak:
: [/] [] ()
NND: Startuję Opendchub                                              [Trwa....] Hub is up and running. Listening for user connections on port 411
and listening for admin connections on port 53696
                                                                     [Wykonane]


A log mimo to jest pusty.

Autor:  Mis' [ sobota, 15 października 2005, 11:38 ]
Tytuł: 

wdca pisze:
Serwer zawsze startował bez dodatkowych opcji. Jego output standardowo wygląda tak:
: [/] [] ()
NND: Startuję Opendchub                                              [Trwa....] Hub is up and running. Listening for user connections on port 411
and listening for admin connections on port 53696
                                                                     [Wykonane]


A log mimo to jest pusty.


OK, wystaw gdzieś na www ten pakiet i daj mi link, może być na priv. Jutro zobaczę co się dzieje.

Autor:  Mis' [ sobota, 15 października 2005, 11:54 ]
Tytuł: 

Jeszcze jedno - upewnij się w że w sekcji DAEMONS ten opendchub jest wpisany jako ostatni i sprawdź (trzy razy) czy nie ma w jego nazwie żadnej literówki.

Autor:  wdca [ sobota, 15 października 2005, 12:29 ]
Tytuł: 

Jest ostatni i nie ma literówki.
Pakiecik możesz pobrać z:
http://pack14.webpark.pl/opendchub-0.7.14-2nnd.tar.gz

Autor:  Mis' [ sobota, 15 października 2005, 13:16 ]
Tytuł: 

Wydaje mi si/ę że wiem w czym błąd. Po pierwsze dodaj te średniki jak pisałem poprzednio. U mnie script ładnie startuje, ale wyświetla [ Nieudane].
Z ręki chodzi ładnie. IMHO problem lezy w tym, że startując z systemem opendchub nie ma dostępu do katalogu .opendchub, który jest w katalogu /root i został założony podczas pierwszego ręcznego uruchomienia. A w tym katalogu jest plik konfiguracyjny daemona.
Imho musisz poczytać dokumentację i dowiedzieć się jak mu pokazać plik konfiguracyjny... i pewnie jeszcze katalogi jakieś będziesz mu musiał zrobić.
Generalnie trochę czytania cię czeka...

Autor:  wdca [ sobota, 15 października 2005, 13:26 ]
Tytuł: 

Dzięki wielkie!
Średniki dodałem.
: [/] [] ()
The command line arguments available are:

-d          : Makes the hub print the log to the console instead of running in
         the background.
-h         : Prints a brief help and exits.
--version   : Prints the version of the program.
-l <logfile>: Sets the path to the logfile.
-s          : Uses syslog instead of a logfile.
-w  <path>  : Sets the path to the working directory. This directory will
             contain a tmp directory and the .opendchub directory with
         the config files.
        
These options are also available if you have enabled switch user mode:

-u <user>   : Run as this user.
-g <group>  : Run as this group.


Za dużo to tego czytania nie ma ;)
To na jaki katalog mam ustawić te configi???

Autor:  Mis' [ sobota, 15 października 2005, 13:37 ]
Tytuł: 

wdca pisze:
Dzięki wielkie!
Średniki dodałem.
: [/] [] ()
The command line arguments available are:

-d          : Makes the hub print the log to the console instead of running in
         the background.
-h         : Prints a brief help and exits.
--version   : Prints the version of the program.
-l <logfile>: Sets the path to the logfile.
-s          : Uses syslog instead of a logfile.
-w  <path>  : Sets the path to the working directory. This directory will
             contain a tmp directory and the .opendchub directory with
         the config files.
        
These options are also available if you have enabled switch user mode:

-u <user>   : Run as this user.
-g <group>  : Run as this group.


To na jaki katalog mam ustawić te configi???


ja bym dał jakoś tak:
: [/] [] ()
/usr/local/bin/opendchub -u dchub -g dchub -w /var/opendchub -l /var/log/dchub.log


w systemie musi być user dchub należący do grupy dchub, z katalogiem domowym /var/opendchub i shellem ustawionym na /bin/false.
Następnie jako user dchub uruchomiłbym opendchub jako user dchub (su dchub -c /usr/local/bin/opendchub) żeby stworzyć katalog /var/opendchub/.opendchub i plik konfiguracyjny.
Po restarcie powinno wszystko chodzić.

Autor:  wdca [ niedziela, 16 października 2005, 12:57 ]
Tytuł: 

Nie wiem co zrobiłem nie tak ,ale wyszystko się prawie robi tak jak powinno - kalalog domowy nie chce zadziałać.
Stworzyłem tak jak go miałem stworzyć w /var/opendchub/.
Opendchub tworzy na początek configi pytając się o nr portu i resztę.
Etydowałem plik /etc/rc.d/opendchub i zmieniłem w nim wiersz w ,którym było polecenie uruchamiające go i dopisałem potrzebne argumenty.
Kalalog .opendchub nie tworzy się :( a hub dalej nie startuje przy uruchomieniu :(.

Autor:  Mis' [ niedziela, 16 października 2005, 19:19 ]
Tytuł: 

wdca pisze:
Nie wiem co zrobiłem nie tak ,ale wyszystko się prawie robi tak jak powinno - kalalog domowy nie chce zadziałać.
Stworzyłem tak jak go miałem stworzyć w /var/opendchub/.
Opendchub tworzy na początek configi pytając się o nr portu i resztę.
Etydowałem plik /etc/rc.d/opendchub i zmieniłem w nim wiersz w ,którym było polecenie uruchamiające go i dopisałem potrzebne argumenty.
Kalalog .opendchub nie tworzy się :( a hub dalej nie startuje przy uruchomieniu :(.


u mnie działa, choć nie do końca tak jak powinien. Przede wszystkim musiałem ręcznie skopiować katalog .opendchub do /var/opendchub i zmienić właściciela katalogu i plików na dchub. Niestety, jak by nie startować czy to ręcznie, czy automatycznie z systemem ten program ignoruje flagi -u i -g. Cały czas działa jako user, który go wystartował, czyli jeśli startuje razem z systemem działa jako root. Prawdopodobnie podczas kompilacji trzeba podać usera na prawach którego program będzie działał. Tak czy siak w obecnej wersji jest nieużywalny...

Autor:  MAC!EK [ niedziela, 16 października 2005, 20:46 ]
Tytuł: 

a jaki problem uruchomić przez su - -c "opendchub"

Autor:  Mis' [ niedziela, 16 października 2005, 21:32 ]
Tytuł: 

MAC!EK pisze:
a jaki problem uruchomić przez su - -c "opendchub"


żaden, poza tym, że nadal proces nalezy do roota

Autor:  MAC!EK [ poniedziałek, 17 października 2005, 15:55 ]
Tytuł: 

Mis' pisze:
MAC!EK pisze:
a jaki problem uruchomić przez su - -c "opendchub"


żaden, poza tym, że nadal proces nalezy do roota

sorki zamotałem się :)
chodziło mi o:
su - $USER -c "opendchub > /dev/null 2>&1 &"
na przykład tak

Autor:  Mis' [ poniedziałek, 17 października 2005, 16:11 ]
Tytuł: 

MAC!EK pisze:
su - $USER -c "opendchub > /dev/null 2>&1 &"


dokładnie to jest tak:

su - -c "polecenie" $USER

inaczej nie chciało działać. Poza tym nie ma potrzeby tego dodatkowo wysylać w tło bo opendchub działa jako daemon (i inaczej nie chce). Tak czy siak proces należy do roota... a opendchub po starcie wyisuje coś takiego:
"Opendchub is up and running. Listening for user connections on port..."
Czyli sam właściwie nie wie dla jakiego usera działa...
Jak pisałem, podejrzewam, że podczas kompilacji należy wskazać jakiego usera ma ten program używać choć z drugiej strony po co byłyby flagi -u i -g...

Autor:  MAC!EK [ poniedziałek, 17 października 2005, 21:07 ]
Tytuł: 

To dziwne bo ja tak mam i działa mi mldonkey.

Strona 1 z 2 Strefa czasowa UTC+2godz.
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/