tor/tor.init
2012-02-01 20:27:49 +04:00

108 lines
2.1 KiB
Bash
Executable file

#!/bin/bash
#
#tor The Onion Router
#
# chkconfig: 2345 90 10
# description: Onion Router
### BEGIN INIT INFO
# Provides: tor
# Should-Start: $network
# Should-Stop: $network
# Default-Start: 2 3 4 5
# Short-Description: The Onion Router
# Description: The Onion Router.
### END INIT INFO
TORUSER=toruser
TORBIN=/usr/bin/tor
TORPID=/var/run/tor/tor.pid
TORLOG=/var/log/tor/tor.log
TORDATA=/var/lib/tor
TORCONF=/etc/tor/torrc
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
[ -r /etc/sysconfig/tor ] && . /etc/sysconfig/tor
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
TORARGS="PIDFile $TORPID Log \"notice file $TORLOG\" RunAsDaemon 1 DataDirectory $TORDATA User $TORUSER"
RETVAL=0
# See how we were called.
case "$1" in
start)
gprintf "Starting %s:" tor
if [ -f $TORPID ]; then
failure "tor appears to be already running (pid file exists)"
exit 1
fi
daemon $TORBIN -f $TORCONF $TORARGS
RETVAL=$?
if [ "$RETVAL" = 0 ]; then
success "%s startup" tor
touch /var/lock/subsys/tor
else
failure "%s startup" tor
fi
echo
;;
stop)
gprintf "Stopping %s:" tor
if [ -f $TORPID ]; then
kill `cat $TORPID`
RETVAL=$?
if [ "$RETVAL" = 0 ]; then
success "%s shutdown" tor
rm -f /var/lock/subsys/tor
else
failure "%s shutdown" tor
fi
else
success "%s is not running" tor
RETVAL=0
fi
echo
;;
status)
status tor
;;
restart)
$0 stop
$0 start
;;
reload)
gprintf "Reloading %s:" tor
if [ -f $TORPID ]; then
gprintf "Sending HUP to tor: "
kill -HUP `cat $TORPID`
RETVAL=$?
[ "$RETVAL" = 0 ] && success "config reload" || failure "config reload"
else
failure "%s is not running" tor
RETVAL=1
fi
echo
;;
condrestart)
if [ -f $TORPID ]; then
$0 stop
$0 start
fi
;;
log)
cat $TORLOG
;;
*)
gprintf "Usage: %s {start|stop|restart|reload|status|log}\n" $0
exit 1
esac
exit $RETVAL