Página 2 de 2 PrimeiroPrimeiro 12
+ Responder ao Tópico



  1. #6
    vinimaciel
    A melhor explicacao esta em:

    man ntsysv




    Abracao,

    Vinicius Maciel Simchak
    vinimaciel@gmail.com
    MSN: maciel_plugin@hotmail.com

  2. #7
    esales
    BLZ!!! :roll:

    Vou ver, com certeza!!! :good:
    []'s



  3. #8
    vinimaciel
    Ahhh...

    Vi que esta faltando as librarys do init.d no teu script de inicializacao....
    Eu utilizo esse:


    #!/bin/bash
    #
    # Startup script for the Apache Web Server
    #
    # chkconfig: - 85 15
    # description: Apache is a World Wide Web server. It is used to serve \
    # HTML files and CGI.
    # processname: httpd
    # pidfile: /var/run/httpd.pid
    # config: /etc/httpd/conf/access.conf
    # config: /etc/httpd/conf/httpd.conf
    # config: /etc/httpd/conf/srm.conf

    # Source function library.
    . /etc/rc.d/init.d/functions

    # This will prevent initlog from swallowing up a pass-phrase prompt if
    # mod_ssl needs a pass-phrase from the user.
    INITLOG_ARGS=""

    # Path to the apachectl script, server binary, and short-form for messages.
    apachectl=/usr/local/sbin/apachectl
    httpd=/usr/local/sbin/httpd
    ulimit -n 2048
    prog=httpd
    RETVAL=0

    # Find the installed modules and convert their names into arguments httpd
    # can use.
    moduleargs() {
    moduledir=/usr/local/libexec/apache
    moduleargs=`
    /usr/bin/find ${moduledir} -type f -perm -0100 -name "*.so" | env -i tr '[:lower:]' '[:upper:]'| awk '{\
    gsub(/.*\//,"");\
    gsub(/^MOD_/,"");\
    gsub(/^LIB/,"");\
    gsub(/\.SO$/,"");\
    print "-DHAVE_" $0}'`
    echo ${moduleargs}
    }

    # The semantics of these two functions differ from the way apachectl does
    # things -- attempting to start while running is a failure, and shutdown
    # when not running is also a failure. So we just do it the way init scripts
    # are expected to behave here.
    start() {
    echo -n $"Starting $prog: "
    daemon $httpd -DSSL `moduleargs` $OPTIONS
    RETVAL=$?
    echo
    [ $RETVAL = 0 ] && touch /var/lock/subsys/httpd
    return $RETVAL
    }
    stop() {
    echo -n $"Stopping $prog: "
    killproc $httpd
    RETVAL=$?
    echo
    [ $RETVAL = 0 ] && rm -f /var/lock/subsys/httpd /var/run/httpd.pid
    }
    reload() {
    echo -n $"Reloading $prog: "
    killproc $httpd -HUP
    RETVAL=$?
    echo
    }

    # See how we were called.
    case "$1" in
    start)
    start
    ;;
    stop)
    stop
    ;;
    status)
    status $httpd
    RETVAL=$?
    ;;
    restart)
    stop
    start
    ;;
    condrestart)
    if [ -f /var/run/httpd.pid ] ; then
    stop
    start
    fi
    ;;
    reload)
    reload
    ;;
    graceful|help|configtest)
    $apachectl $@
    RETVAL=$?
    ;;
    *)
    echo $"Usage: $prog {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}"
    exit 1
    esac

    exit $RETVAL




    Abracao,

  4. #9
    gmlinux
    SYSV e BSD são os principais padrões de unix do mercado.
    Os scripts de inicialização do redhat, por exemplo, são padrão sysv, do debian, bsd.
    Quando um link possui o nome iniciando por S, ele é executado com argumento start, se o nome começa com K, ele é executado com argumento stop.
    Seu script precisa reconhecer estes argumentos ($1).
    O programa ntsysv e o chkconfig gerenciam estes links simbólicos, mais os scripts precisam possuir informações especiais no cabeçalho.



  5. #10
    esales
    Pessoal, preciso agradecer a todos. Já está funcionando direitinho.

    O script do vinimaciel, próprio para funcionar em inicializações e finalizações foi usado. A dica do gmlinux sobre os padrões Unix (BSD e Sysv) abriram a cabeça.

    Juntei tudo e está funcionando. Seria algo assim:

    1 - Criamos o script em /etc/rc.d/init.d/;
    2 - Criamos os links nível 3,5,6 para este arquivo. Três e Cinco para ambiente corporativo e seis para shutdown;
    3 - Executamos o ntsysv e escolhemos o nome que demos ao script, habilitando-o, basta clicar em OK e pronto;

    OBS: no caso do Fedora é o ntsysv que faz o script funcionar, me parece que em sistemas BSD o que vai funcionar é o chkconfig, assim:

    Código :
    cd /etc/rc.d/init.d/ 
    chmod 755 /etc/rc.d/init.d/httpd 
    chkconfig --add httpd

    Conforme o Vinimaciel indicou. O grande lance foi eu entender os runlevels e pronto a ficha caiu. Já coloquei, inclusive, o PostgreSQL no mesmo esquema, claro que com script diferente, ou seja, o que muda é o script.

    Colegas, estou em dívida... Fica um abraço....

    Abraços






Tópicos Similares

  1. Problema no Boot do Kurumin 3.1
    Por kamui no fórum Servidores de Rede
    Respostas: 13
    Último Post: 11-09-2004, 13:36
  2. Como iniciar FTP E SAMBA no boot do linux...
    Por rfdasilva1 no fórum Servidores de Rede
    Respostas: 4
    Último Post: 06-10-2003, 18:02
  3. Problemas no boot do Linux
    Por RCM no fórum Servidores de Rede
    Respostas: 4
    Último Post: 16-06-2003, 08:35
  4. Problemas no Boot do RH8
    Por no fórum Servidores de Rede
    Respostas: 6
    Último Post: 20-12-2002, 16:17
  5. Como inserir meu script no boot do linux
    Por wrochal no fórum Segurança
    Respostas: 2
    Último Post: 21-11-2002, 17:41

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L