nachfolgend habe ich ein Script welches für init.d gedacht ist. Das Script sucht an einer Stelle nach einer functions lib von init.d???????
Jedenfalls weiss ich nicht was hier richtig sein soll bzw. was ich angeben soll.
Vielleicht findet sich hier jemand zurecht.....
Code: Alles auswählen
#!/bin/bash
#
# Raymond 25DEC2003 support@bigriverinfotech.com
# /etc/rc.d/init.d/jabberd2
# init script for jabberd2 processes
# Tested under jabberd-2.0rc2 and Fedora 1.0 only
#
# processname: jabberd2
# description: jabberd2 is the next generation of the jabberd server
# chkconfig: 2345 85 15
#
if [ -f /etc/init.d/functions ]; then
. /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ]; then
. /etc/rc.d/init.d/functions
else
echo -e "\ajabberd2: unable to locate functions lib. Cannot continue."
exit -1
fi
#
progs="router resolver sm c2s s2s"
progsPath="/usr/local/bin"
confPath="/usr/local/etc/jabberd"
pidPath="/usr/local/var/jabberd/pid"
statusCol="echo -ne \\033[60G"
statusColorOK="echo -ne \\033[1;32m"
statusColorFailed="echo -ne \\033[1;31m"
statusColorNormal="echo -ne \\033[0;39m"
retval=0
#
StatusOK ( ) {
${statusCol}
echo -n "[ "
${statusColorOK}
echo -n "OK"
${statusColorNormal}
echo " ]"
return 0
}
#
StatusFailed ( ) {
echo -ne "\a"
${statusCol}
echo -n "["
${statusColorFailed}
echo -n "FAILED"
${statusColorNormal}
echo "]"
return 0
}
#
ReqBins ( ) {
for prog in ${progs}; do
if [ ! -x ${progsPath}/${prog} ]; then
echo -n "jabberd2 binary [${prog}] not found."
StatusFailed
echo "Cannot continue."
return -1
fi
done
return 0
}
#
ReqConfs ( ) {
for prog in ${progs}; do
if [ ! -f ${confPath}/${prog}.xml ]; then
echo -n "jabberd2 configuration [${prog}.xml] not found."
StatusFailed
echo "Cannot continue."
return -1
fi
done
return 0
}
#
ReqDirs ( ) {
if [ ! -d ${pidPath} ]; then
echo -n "jabberd2 PID directory not found. Cannot continue."
StatusFailed
return -1
fi
return 0
}
#
Start ( ) {
for req in ReqBins ReqConfs ReqDirs; do
${req}
retval=$?
[ ${retval} == 0 ] || return ${retval}
done
echo "Initializing jabberd2 processes ..."
for prog in ${progs}; do
if [ $( pidof -s ${prog} ) ]; then
echo -ne "\tprocess [${prog}] already running"
StatusFailed
sleep 1
continue
fi
echo -ne "\tStarting ${prog}: "
if [ ${prog} == "router" ]; then
ports="5347"
elif [ ${prog} == "c2s" ]; then
ports="5222 5223"
elif [ ${prog} == "s2s" ]; then
ports="5269"
else
ports=""
fi
for port in ${ports}; do
if [ $( netstat --numeric-ports --listening --protocol=inet |
gawk '{ print $4 }' |
gawk -F : '{ print $NF }' |
grep -c ${port}$ ) -ne "0" ]; then
StatusFailed
echo -e "\tPort ${port} is currently in use. Cannot continue"
echo -e "\tIs a Jabber 1.x server running?"
Stop
let retval=-1
break 2
fi
done
rm -f /var/lock/subsys/${prog}
rm -f ${pidPath}/${prog}.pid
args="-c ${confPath}/${prog}.xml"
${progsPath}/${prog} ${args} & 2> /dev/null
retval=$?
if [ ${retval} == 0 ]; then
StatusOK
touch /var/lock/subsys/${prog}
else
StatusFailed
Stop
let retval=-1
break
fi
sleep 1
done
return ${retval}
}
#
Stop ( ) {
echo "Terminating jabberd2 processes ..."
for prog in ${progs}; do
echo -ne "\tStopping ${prog}: "
killproc ${prog}
retval=$?
if [ ${retval} == 0 ]; then
rm -f /var/lock/subsys/${prog}
rm -f ${pidPath}/${prog}.pid
fi
echo
sleep 1
done
return ${retval}
}
#
case "$1" in
start)
Start
;;
stop)
Stop
;;
restart)
Stop
Start
;;
condrestart)
if [ -f /var/lock/subsys/${prog} ]; then
Stop
sleep 3
Start
fi
;;
*)
echo "Usage: $0 {start|stop|restart|condrestart}"
let retval=-1
esac
exit ${retval}
#
# eof
Code: Alles auswählen
jabberd2: unable to locate functions lib. Cannot continue.
Code: Alles auswählen
if [ -f /etc/init.d/functions ]; then
. /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ]; then
. /etc/rc.d/init.d/functions
else
echo -e "\ajabberd2: unable to locate functions lib. Cannot continue."
exit -1
fi