Igor Zakhrebetkov пишет:
> Как появился linux'ый сервак в нашей конторе, решил поставить на него
> хоть что-то полезное, типа firebird классик :)

Вот кусок из сценария
#------------------------------------------------------------------------
# resetXinitdServer
# Check for both inetd and xinetd, only one will be running but script
# will work.

resetInetdServer() {

     if [ -f /var/run/inetd.pid ]
       then
         kill -HUP `cat /var/run/inetd.pid`
     fi

     if [ -f /var/run/xinetd.pid ]
       then
         kill -USR2 `cat /var/run/xinetd.pid`
     fi
}

#------------------------------------------------------------------------
#  check if it is running

checkIfServerRunning() {

# Check is server is being actively used.

     checkString=`ps -efww| egrep "(ibserver|ibguard)" |grep -v grep`

     if [ ! -z "$checkString" ]
       then
         echo "An instance of the Firebird/InterBase Super server seems 
to be running."
         echo "Please quit all interbase applications and then proceed"
         exit 1
     fi

     checkString=`ps -efww| egrep "(gds_inet_server|gds_pipe)" |grep -v 
grep`

     if [ ! -z "$checkString" ]
       then
         echo "An instance of the Firebird/InterBase server seems to be 
running."
         echo "Please quit all interbase applications and then proceed."
         exit 1
     fi

# Stop lock manager if it is the only thing running.

     for i in `ps -efww | grep "gds_lock_mgr" | grep -v "grep" | awk 
'{print $2}' `
      do
         kill $i
      done
}

useroff() {
   echo -e "user off\n"
   cp -f /db/scripts/ibase.disable /etc/xinetd.d/firebird
   resetInetdServer

   killall -QUIT gds_inet_server
   $IBASE/bin/gds_drop -a
   sleep 5s

   checkIfServerRunning

   rm -f /tmp/gds_sort*
   rm -f $IBASE/interbase.log
}

useron() {
   echo -e "user on"
   cp -f /db/scripts/ibase.enable /etc/xinetd.d/firebird
   resetInetdServer
}

отключить всех пользователей и запретить новые подлючения useroff()
разрешить новые подключения useron()

так выглядит содержание файл ibase.disable
# default: on
# description: Interbase server
service gds_db
{
        disable = yes
        flags                   = REUSE
        socket_type             = stream
        wait                    = no
        user                    = root
        log_on_success          += USERID
        log_on_failure          += USERID
        server                  = /opt/interbase/bin/gds_inet_server
}

а так содержание ibase.enable
# default: on
# description: Interbase server
service gds_db
{
        disable = no
        flags                   = REUSE
        socket_type             = stream
        wait                    = no
        user                    = root
        log_on_success          += USERID
        log_on_failure          += USERID
        server                  = /opt/interbase/bin/gds_inet_server
}


--
   Успехов, Андрей Иванов.


--~--~---------~--~----~------------~-------~--~----~
-~----------~----~----~----~------~----~------~--~---

Ответить