---- SCRIPT START file called: popfile -!/bin/sh - - Copyright (C) 2003 John Zoetebier <[email protected]> - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later - version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - - ============== - History - -------------- - Modified by Peter Davie to include RedHat specific features (e.g. using the 'functions' scripts) - 19 Nov 2003 10:49am MYT - - NOTE TO PETER DAVIE: Please clarify whether or not this still works on SuSE after your changes. - - popfile - - A shell-script wrapper for popfile designed for use in the SysV-init - system (/etc/init.d). - - - usage: popfile { start | stop | restart | } - - See also: LSB, start_daemon (lsb), startproc (suse), install_initd (lsb), - insserv (suse), /usr/share/doc/initscripts*/sysvinitfiles (redhat) - - - RedHat comment block... - - chkconfig: 345 80 20 - description: popfile is a POP3 proxy and mail filter - pidfile: /var/run/popfile.pid # processname: popfile - - - - LSB comment block... - - The bogus 345 run-levels are a workround for a buggy RedHat chkconfig which - reads the LSB comment block (incorrectly) as an undocumented 'feature'. - - BEGIN INIT INFO - Provides: popfile - Required-Start: $network - Required-Stop: $network - Default-Start: 345 3 4 5 - Default-Stop: 345 3 4 5 - Description: popfile is a POP3 proxy and mail filter - END INIT INFO ## - Source function library. if [ -f /etc/init.d/functions ] ; then <code> /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ] ; then
/etc/rc.d/init.d/functions
else
exit 0
fi
popfile_home=/usr/popfile popfile=“${popfile_home}/popfile.pl” # file must be executable, otherwise perl will not start
folder_saved=`pwd`
start() {
cd ${popfile_home} echo -n "Starting popfile: " ${popfile} >> /dev/null 2>&1 & echo -n "started as background process" && echo success && echo # echo -en "\033[${RES_COL}G[ OK ]" -- Commented out PD, see history above.
}
stop() {
echo -n "Stopping popfile ... " pid=`ps -ef | grep perl | grep popfile.pl | gawk '{print $2}'` if [ "${pid}" = "" ] ; then echo "popfile is not running" else kill $pid fi #echo -en "\033[${RES_COL}G[ OK ]" echo success && echo
}
status() {
pid=`ps -ef | grep perl | grep popfile.pl | gawk '{print $2}'` if [ "${pid}" = "" ] ; then echo "stopped" else echo "running" fi
}
case “$1” in start)
start ;;
stop)
stop ;;
restart)
stop start ;;
status)
status ;;
echo $"Usage: $0 {start|stop|restart|status}" exit 1 ;;
esac
cd $folder_saved exit 0
</code>
Should you find anything in the documentation that is incomplete, unclear, outdated or just plain wrong, please let us know and leave a note in the Documentation Forum.