#!/bin/sh # # pingcntl: echolot control + wrapper # Written by admin@arancio.net, peter@palfrader.org set -e ################################################################ # You perhaps want to change those items USER=pinger VERBOSE=0 PINGD="/home/pinger/echolot/pingd" # You probably don't want to mess with stuff below this line ################################################################ CHECKULIMIT=1 CHECKUID=1 # Check for evil ulimits if [ "$CHECKULIMIT" -gt "0" ]; then FDs=`ulimit -n` HFDs=`ulimit -H -n` if [ "$FDs" -lt "512" ]; then if [ "$HFDs" -lt "512" ]; then echo "Hardlimit for open File Descriptors is less than 512." >&2 echo "Please consider raising it." >&2 if [ "$FDs" -lt "$HFDs" ]; then echo "Raising it to $HFDs" >&2 ulimit -n $HFDs fi else if [ "$HFDs" -lt "1024" ]; then FDs=$HFDs else FDs=1024 fi echo "Softlimit for open File Descriptors is less than 512." >&2 echo "Raising it to $FDs" >&2 ulimit -n $FDs fi fi fi # Check for right User SU="" if [ "$CHECKUID" -gt "0" ]; then CUID=`id -u` CUIDNAME=`id -nu` if [ "$CUIDNAME" = "$USER" ]; then SU="" elif [ "$CUID" = "0" ]; then SU="su $USER -c" else echo "You are neither $USER nor root. Aborting." >&2 exit 1; fi fi # set VERBOSE if [ $VERBOSE -gt 0 ]; then VERBOSE="--verbose" else VERBOSE="" fi case $1 in start) echo -n "Starting Echolot: pingd" if [ ! -z "$SU" ]; then $SU "$PINGD --detach $VERBOSE start" else $PINGD --detach $VERBOSE start fi echo "." ;; stop) echo -n "Stopping Echolot: pingd" if [ ! -z "$SU" ]; then $SU "$PINGD stop" else $PINGD stop fi echo "." ;; reload|force-reload|restart) $0 stop sleep 10 $0 start ;; process|add|delete|set|setremailercaps|deleteremailercaps|getkeyconf|sendpings|sendchainpings|buildstats|buildkeys|buildthesaurus|buildfromlines|dumpconf|summary) echo "Running pingd $1..." if [ ! -z "$SU" ]; then $SU "$PINGD \"$@\"" else $PINGD "$@" fi echo "done." ;; *) echo "Usage: $0 (start|stop|reload|force-reload|restart)" >&2 echo " $0 [parameters]" >&2 echo "See the pingd(1) manual page for valid commands" >&2 exit 1 ;; esac exit 0 # vim:set ts=2: # vim:set shiftwidth=2: