Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- #
- # chkconfig: 345 95 5
- # description: Starts and stops the HylaFAX server and queue manager \
- # used to provide FAX services
- #
- ### BEGIN INIT INFO
- # Provides: hylafax
- # Required-Start: $local_fs $network $syslog
- # Should-Start: hfaxd faxd
- # Required-Stop:
- # Default-Start: 3 4 5
- # Default-Stop: 0 1 2 6
- # Short-Description: Starts and stops the HylaFAX
- # Description: Starts and stops the HylaFAX server and queue manager \
- # used to provide FAX services
- ### END INIT INFO
- return_success=
- return_failure=
- # Source function library.
- if [ -f /etc/init.d/functions ] ; then
- . /etc/init.d/functions
- alias START_DAEMON=daemon
- alias STATUS=status
- alias ACTION=action
- elif [ -f /etc/rc.d/init.d/functions ] ; then
- . /etc/rc.d/init.d/functions
- alias START_DAEMON=daemon
- alias STATUS=status
- alias ACTION=action
- elif [ -f /lib/lsb/init-functions ]; then
- . /lib/lsb/init-functions
- alias START_DAEMON=start_daemon
- alias STATUS=suse_status
- alias ACTION=suse_action
- return_success=$rc_done
- return_failure=$rc_failed
- else
- exit 0
- fi
- # HylaFAX spool directory
- if [ -d /var/spool/hylafax ]; then
- SPOOL=/var/spool/hylafax
- else
- SPOOL=/var/spool/fax
- fi
- HFAXD_ARGS=
- FAXQ_ARGS=
- # Source HylaFAX init script configuration
- if [ -f /etc/sysconfig/hylafax ] ; then
- . /etc/sysconfig/hylafax
- fi
- # Put Extra args first as some may be needed before ports parameters
- if [ -n "$HFAXD_EXTRA_ARGS" ] ; then
- HFAXD_ARGS=$HFAXD_EXTRA_ARGS
- fi
- # Bind to a specific address
- if [ -n "$HFAXD_LISTEN" ] ; then
- HFAXD_ARGS="$HFAXD_ARGS -l $HFAXD_LISTEN"
- fi
- if [ "$HFAXD_OLD_PROTOCOL" = "yes" ] ; then
- HFAXD_ARGS="$HFAXD_ARGS -o 4557"
- fi
- if [ -f "$SPOOL/etc/pagermap" ] ; then
- HFAXD_ARGS="$HFAXD_ARGS -s snpp"
- fi
- HFAXD_ARGS="$HFAXD_ARGS -i hylafax"
- if [ "$SPOOL" != "/var/spool/hylafax" ] ; then
- HFAXD_ARGS="$HFAXD_ARGS -q $SPOOL"
- FAXQ_ARGS="$FAXQ_ARGS -q $SPOOL"
- fi
- start() {
- check_config || exit 1
- echo -n "Starting HylaFAX queue manager (faxq): "
- START_DAEMON /usr/sbin/faxq
- RETVAL=$?
- if [ $RETVAL -eq 0 ]; then
- echo -e $return_success
- else
- echo -e $return_failure
- fi
- echo -n "Starting HylaFAX server (hfaxd): "
- START_DAEMON /usr/sbin/hfaxd $HFAXD_ARGS
- RETVAL2=$?
- if [ $RETVAL2 -eq 0 ]; then
- echo -e $return_success
- else
- echo -e $return_failure
- fi
- reset_faxgetty
- [ $RETVAL -eq 0 -a $RETVAL2 -eq 0 ] && \
- touch /var/lock/subsys/hylafax || RETVAL=1
- return $RETVAL
- }
- stop() {
- ACTION "Shutting down HylaFAX queue manager (faxq): " /usr/sbin/faxquit
- RETVAL=$?
- echo -n "Shutting down HylaFAX server (hfaxd): "
- killproc hfaxd
- RETVAL2=$?
- if [ $RETVAL2 -eq 0 ]; then
- echo -e $return_success
- else
- echo -e $return_failure
- fi
- [ $RETVAL -eq 0 -a $RETVAL2 -eq 0 ] && \
- rm -f /var/lock/subsys/hylafax || RETVAL=1
- return $RETVAL
- }
- restart() {
- stop
- start
- }
- suse_action() {
- echo -n $1
- $2
- RETVAL=$?
- if [ $RETVAL -eq 0 ]; then
- echo -e $return_success
- else
- echo -e $return_failure
- fi
- return $RETVAL
- }
- suse_status() {
- checkproc $1
- rc_status -v
- }
- hfstatus() {
- echo -n "HylaFAX client-server protocol server: "
- STATUS hfaxd
- echo -n "HylaFAX queue manager process: "
- STATUS faxq
- }
- check_config() {
- test -f $SPOOL/etc/setup.cache || {
- cat<<-EOF
- HylaFAX FATAL ERROR: $SPOOL/etc/setup.cache is missing!
- The file $SPOOL/etc/setup.cache is not present.
- This probably means the machine has not been setup using the
- faxsetup(8C) command. Read the documentation on setting up
- HylaFAX before you startup a server system.
- EOF
- exit 1
- }
- }
- reset_faxgetty () {
- pids=`pidofproc faxgetty`
- if [ -n "$pids" ] && ps h $pids >/dev/null 2>&1; then
- echo -n "Restarting HylaFAX modem manager (faxgetty):"
- # will be respawned from /etc/inittab
- killproc faxgetty
- if [ $? -eq 0 ]; then
- echo -e $return_success
- else
- echo -e $return_failure
- fi
- fi
- }
- case "$1" in
- start)
- start
- ;;
- stop)
- stop
- ;;
- status)
- hfstatus
- ;;
- restart|reload)
- restart
- ;;
- condrestart)
- [ -f /var/lock/subsys/hylafax ] && restart
- ;;
- *)
- echo "Usage: $0 {start|stop|status|restart|reload|condrestart}"
- exit 1
- ;;
- esac
- exit $?
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement