All of the information below assumes you are logged in as root.
Here is a script for RedHat- it needs to reside in /etc/init.d/
It is based on a script by John Zoetebier for SuSE (The HOWTO forum has the original script for SuSE).
You might need to adjust the value of the popfile_home variable if you didn't install popfile to /usr/popfile (e.g. popfile_home=/usr/local/popfile).
You will need to add the command to the startup process by typing:
chkconfig --add popfile
and then
chkconfig popfile on
This will enable popfile to start on boot based on the chkconfig setting in the script below.
You will also need to make the 'popfile' script executable by typing:
chmod uga+x popfile
which makes it executable by everyone (all, group, user). If you only want root to run the script, then use:
chmod u+x popfile
#--- 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 featues (e.g. using the 'functions' scripts) # 19 Nov 2003 10:49am MYT # # # 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 /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 # Setup variables 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 # Back to original folder cd $folder_saved exit 0 #--- SCRIPT END
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.