Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Make appropriate changes (shown enclosed inside <changes> .. </changes>) to ndt init script.

{code:=
Code Block
title
/mnt/store/updates/ndt
}
#!/bin/bash 
#
# chkconfig: 2345 55 25
# description: Starts the NDT Web server
# written by Peter Bertoncini <pjb@anl.gov>
#
# Customized NTP startup script for Internet Network Performance Tools
# Live CD.  The process for this tool, and all the others, it to let 
# Knoppix take care of some customization during the boot phase.  Knoppix
# will automatically look for, and execute, a knoppix.sh script on an
# attached drive.  This means that we will store the customized file
# on a USB thumb drive.  At boot time the boot process will find and
# execute a knoppix.sh script that will copy the config files into
# the proper place.  If they don't exist, then prompt the user to
# customize things.
#
# At shutdown, copy the files back to the mounted USB drive.
# Rich Carlson - 4/20/06
# 
# Added a function to alert a daemon that NDT has started up, along with the
# location of the configuration file
# Aaron Brown - 2008-07-02

path=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
NDT_DAEMON=/usr/local/sbin/web100srv
# <changes>
# set to the full path of fakewww or 0 to not run server
FAKE_DAEMON=0
# </changes>
NDT_LOG_DIRECTORY=/var/log/ndt

# bring in NPT functions for later use
ENV="env -i PATH=/lib/init:/bin:/sbin:/usr/bin"
. /lib/init/nptoolkit-functions.sh

[ -f /usr/local/ndt/web100_variables ] || exit 0

# Extra logging can be enabled by adding "--snaplog" or "--tcpdump" options.
# These logs will get stored in the NDT_LOG_DIRECTORY
mkdir -p $NDT_LOG_DIRECTORY
pushd $NDT_LOG_DIRECTORY

# Specify some default options.
WEB100SRV_OPTIONS="-a"
# <changes>
FAKEWWW_OPTIONS=""
# FAKEWWW_OPTIONS="-l $NDT_LOG_DIRECTORY/access.log -e $NDT_LOG_DIRECTORY/error.log"
# </changes>
# FAKEWWW_OPTIONS="-l /var/log/fakewww.log"
# logging now on by default writing access_log and error_log files
# in /usr/local/ndt

case "$1" in
   start)
        echo -n "Starting NDT Services: "
        if [ -f /usr/local/ndt/tcpbw100.html ]; then
                echo " - using customized NDT web server page."
        else
                /bin/cp /usr/local/etc/tcpbw100.knoppix /usr/local/ndt/tcpbw100.html
                echo " - using generic NDT web server page - Please customize"
                /bin/touch /tmp/customize.ndt
        fi
        mkdir -p /var/run/ndt/run
        chmod 755 /var/run/ndt/run
        chown root:wheel /var/run/ndt/run >/dev/null 2>&1 || true

        echo -n "     "

        # <changes>
        # don't run www daemon if no content
        if [ ! $FAKE_DAEMON ]; then
        # </changes>
        
        if [ ! -x $FAKE_DAEMON ]; then
                echo "fakewww binary missing - Not starting"
                exit 1
        fi
        start-stop-daemon --start -m --pidfile=/var/run/ndt/run/fakewww.pid \
                --exec $FAKE_DAEMON -- $FAKEWWW_OPTIONS >/dev/null 2>&1 & 
        if [ $? != 0 ]; then
                echo "Problem starting fakewww"
                exit -1
        fi
        
        echo -n "fakewww"

        fi

        if [ ! -x $NDT_DAEMON ]; then
                echo "web100srv binary missing - Not starting"
                exit 1
        fi
        start-stop-daemon --start -m --pidfile=/var/run/ndt/run/web100srv.pid \
                --exec $NDT_DAEMON -- $WEB100SRV_OPTIONS >/dev/null 2>&1 &
        echo -n " web100srv"
        echo "."
    ;;

    stop)
        echo -n "Stopping NDT services: "
        start-stop-daemon --stop --name fakewww
        echo -n "fakewww"
        start-stop-daemon --stop --name web100srv
        echo -n " web100srv"

        # <changes>
        mount_NPT_drives
        select_NPT_drive
        if [ "$DRVS" == "" ] ; then
                echo "Error: no drives available to hold customized files."
        else
                for DRV in $DRVS ; do
                        save_NPT_file $DRV /usr/local/ndt/tcpbw100.html tcpbw100.html
                        save_NPT_file $DRV /usr/local/ndt/web100srv.log web100srv.log
                        save_NPT_file $DRV /usr/local/ndt/access_log access_log
                        save_NPT_file $DRV /usr/local/ndt/error_log error_log
                        echo "Saving NDT customization files to '$DRV' drive"
                done
        fi
        # </changes>

        echo "."
    ;;

    restart)
        echo -n "Restarting NDT services: "
        start-stop-daemon --stop --name fakewww
        start-stop-daemon --stop --name web100srv
        sleep 2
        start-stop-daemon --start -m --pidfile=/var/run/ndt/run/fakewww.pid \
                --exec $FAKE_DAEMON -- $FAKEWWW_OPTIONS >/dev/null 2>&1 & 
        echo -n "fakewww"
        start-stop-daemon --start -m --pidfile=/var/run/ndt/run/web100srv.pid \
                --exec $NDT_DAEMON -- $WEB100SRV_OPTIONS >/dev/null 2>&1 &
        echo " web100srv."
    ;;

    *)
        echo $"Usage: $0 {start|stop|restart}"
        exit 1
    ;;
esac

exit 0

...