Ubuntu a automaticky start daemon skriptu z /etc/init.d

Oto Buchta tapik na buchtovi.cz
Pondělí Listopad 2 13:12:52 CET 2009


Zdravim vsechny,
momentalne jsem ve stadui testu Ubuntu na serveru a mam s nim jeden
drobny problem.

At delam, co delam, nedari se mi rozchodit start systemu tak, aby
jeden kokretni skript byl spusten a bezel az do shutdownu.

Udelal jsem si jednoduchy wrapper, ktery kdyz spustim rucne, tak dela co ma.
barcorfid na barcorfid:~$ sudo /etc/init.d/automode.50 start
Connected to: Alien Reader 50
barcorfid na barcorfid:~$ -----------
Zacinam cist...
barcorfid na barcorfid:~$ exit
$ ssh barcorfid na barcorfid
barcorfid na barcorfid:~$ ps ax |grep automode.50
16743 ?        Sl    41:43 ruby1.8
/home/barcorfid/alien_ruby/automode.50/automode.50.rb
25448 pts/1    S+     0:00 grep automode.50
barcorfid na barcorfid:~$

Bohuzel mi jej init nezavola/(nespusti cilovy skript) :-(
root na barcorfid:/var/log# ps ax |grep automode.50
16136 pts/1    S+     0:00 grep automode.50
root na barcorfid:/var/log# grep -ri automode *
auth.log.0:Oct 25 19:49:55 barcorfid sudo: barcorfid : TTY=pts/0 ;
PWD=/home/barcorfid ; USER=root ; COMMAND=/etc/init.d/automode.50
start
root na barcorfid:/var/log# grep -ri alien *
root na barcorfid:/var/log# grep -ri reader *
root na barcorfid:/var/log#

Na inicializaci rc.d adresaru jsme pouzil
root na barcorfid:/etc/init.d# update-rc.d -f automode.50 start 96 2 3 4 5 .

a adresare vypadaji spravne:

root na barcorfid:/etc# ls -l `find -name "*automode.50"`
-rwxr-xr-x 1 root root 980 2009-10-22 12:45 ./init.d/automode.50
lrwxrwxrwx 1 root root  21 2009-10-26 23:26 ./rc2.d/S96automode.50 ->
../init.d/automode.50
lrwxrwxrwx 1 root root  21 2009-10-26 23:26 ./rc3.d/S96automode.50 ->
../init.d/automode.50
lrwxrwxrwx 1 root root  21 2009-10-26 23:26 ./rc4.d/S96automode.50 ->
../init.d/automode.50
lrwxrwxrwx 1 root root  21 2009-10-26 23:26 ./rc5.d/S96automode.50 ->
../init.d/automode.50

Dokonce i rcconf je ukazuje zaskrtnute, lec bohuzel.

Muze mi prosim nekdo naznacit, kde jsem udelal chybu? Pujde IMHO o
hloupe prehlednuti neceho, ale nevim ceho :-(

root na barcorfid:/etc# ls -l /home/barcorfid/alien_ruby/automode.50/automode.50.sh
-rwxr-x--- 1 barcorfid barcorfid 997 2009-10-22 12:47
/home/barcorfid/alien_ruby/automode.50/automode.50.sh
root na barcorfid:/etc# cat init.d/automode.50
#! /bin/sh

PATH=/bin:/usr/bin:/sbin:/usr/sbin

. /lib/lsb/init-functions

case "$1" in
  start)
    log_daemon_msg "Starting app on reader 50" "alien_ruby"
    start-stop-daemon --start --exec
/home/barcorfid/alien_ruby/automode.50/automode.50.sh -- start
    log_end_msg 0
    ;;
  restart|force-reload)
        # nothing to do
    :
    ;;
  stop)
    log_daemon_msg "Stopping app on reader 50" "alien_ruby"
    start-stop-daemon --stop --exec
/home/barcorfid/alien_ruby/automode.50/automode.50.sh -- stop
    log_end_msg 0
    ;;
  status)
    exit 4
    ;;
  *)
    echo "Usage: /etc/init.d/automode.50 {start|stop}"
    exit 2
    ;;
esac

exit 0

PS: Neco jsem premysil z xtermu, neco napsal rucne, takze mozne
nesrovnalosti ve vystupu berte s rezervou ;-)

Oto 'tapik' Buchta



Další informace o konferenci Linux