Hallo zusammen,
Jetzt kommt noch der Start von lpspool in die mint.cnf und fertig ist der Lack :-)
Das habe ich mir ja wieder sehr schön einfach vorgestellt. Ich dachte mit einer netten Zeile ist das erledigt - z.B.
exec "/usr/etc/lpspool >> /var/log/lpspool.log 2>&1"
Das geht leider nicht! Offenbar kann man beim exec statement nur einen einfachen Pfad zu einem Kommando ohne Parameter eingeben.
Folglich brauchte ich für den Start von lpspool ein kleines shell script. Ein simpler Einzeiler war mir dann doch zu doof, weil mit einem brauchbaren script für start, stop und status die typischen Funktionen für einen Dienst recht leicht umzusetzen waren.
Also habe ich nach Jahren mal wieder ein wenig Shell-Scripting geübt und folgendes Script erstellt.
#!/bin/bash
#
# Simple lpspool control script for start/stop/status
#
# revision 0.03 - Heinz Schmidt - initial version
#
PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin; export PATH
BINARY=/usr/etc/lpspool
LOGFILE=/var/log/lpspool.log
PIDFILE=/var/run/lpspool.pid
case $1 in
start
if [ -f $BINARY ]; then
echo "Starting lpspool ..."
date >> $LOGFILE
$BINARY >> $LOGFILE 2>&1 &
echo "lpspool pid: " $! >> $LOGFILE
echo $! > $PIDFILE
else
echo "Error: program" $BINARY "not found!"
fi
;;
stop)
if [ -f $PIDFILE ]; then
read pid < $PIDFILE
echo "Stopping lpspool (pid:" $pid")"
kill $pid
rm $PIDFILE
else
echo "lpspool is not running"
fi
;;
status)
if [ -f $PIDFILE ]; then
read pid < $PIDFILE
echo "Status: lpspool is running (pid: " $pid")"
else
echo "lpspool is not running"
fi
;;
*)
echo "Usage: lpspool start|stop|status" ;;
esac
Damit läßt sich nun lpspool recht gut steuern und statt aus der mint.cnf kann ich es auch z.B. aus der std.services starten und über die bash steuern.
Gar nicht so doof, was? Wenn ich nun noch meine
lpd/lpr Konfig ordentlich hinbekomme, kann ich endlich richtig Drucken über's Netz ...
Das Script-schreiben hat so viel Spaß gemacht ... da könnte ich mich glatt dafür begeistern ein Installations-Script für den ganzen lp*-Kram zu basteln.
Gruß Heinz