#!/sbin/runscript # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 depend() { need net } opts="${opts} migratewords migratewordsforce" cd $YACY_HOME JAVA="$(java-config --java)" JAVA_ARGS="" if [ -e DATA/SETTINGS/httpProxy.conf ] ; then for i in $(grep javastart DATA/SETTINGS/httpProxy.conf); do i="${i#javastart_*=}"; JAVA_ARGS=-$i" "$JAVA_ARGS; done fi CLASSPATH="" test -e lib/ && for N in `ls -1 lib/*.jar`; do CLASSPATH="$CLASSPATH$N:"; done test -e libx/ && for N in `ls -1 libx/*.jar`; do CLASSPATH="$CLASSPATH$N:"; done CLASSPATH="-classpath classes:htroot:$CLASSPATH" if [ -n "${NICENESS}" ] ; then NICE="nice -n ${NICENESS}" fi start() { ebegin "Starting yacy" ${NICE} sudo -u ${YACY_USER} ${JAVA} ${JAVA_ARGS} ${JAVA_OPTIONS} ${CLASSPATH} yacy &> /dev/null & echo $! > /var/run/yacy.pid sleep 1 ps ax|grep "^ *$(cat /var/run/yacy.pid)" > /dev/null eend $? } stop() { ebegin "Shutting down yacy" sudo -u ${YACY_USER} ${JAVA} ${JAVA_ARGS} ${JAVA_OPTIONS} ${CLASSPATH} yacy -shutdown &> /dev/null & einfon "Waiting ." cnt=0 while ( ps ax|grep "^ *$(cat /var/run/yacy.pid)" > /dev/null ) do cnt=`expr $cnt + 2` if [ $cnt -gt ${WAIT_ON_STOP} ] ; then eend 1 "Failed." break fi sleep 2 echo -n "." done echo "done." rm /var/run/yacy.pid eend $? } migratewords() { if [ -e ${svcdir}/started/yacy ] || [ -e /var/run/yacy.pid ] ; then einfo "Is YaCy already running? Stop it before running the word migration." einfo "If you are sure it is really stopped run" einfo " '/etc/init.d/yacy migratewordsforce'" einfo "to start the migration without other warnings." return 1 else migratewordsforce fi } migratewordsforce() { einfo "Migration starts now, all outputs are written to configured logfile too" sleep 2 ${NICE} sudo -u ${YACY_USER} ${JAVA} ${JAVA_ARGS} ${JAVA_OPTIONS} ${CLASSPATH} yacy -migratewords return $? } status() { if service_started "${myservice}" ; then if ! ps p `cat /var/run/yacy.pid` &> /dev/null ; then eerror "service seems to be down" return 1 fi else if [ -e /var/run/yacy.pid ]; then eerror "service seems to be already running" return 1 fi return 0 fi }