> This is my addition to the initscript for samba:
I rewrote it to fit the indentation style we use. I have no deep advice here, except that: - the "echo" stuff add extra noise and are not handled by the LSB init functions. Not sure whether this is wanted. Actually, the important stuff are return codes... I'd vote to remove these echo lines. - I haven't even checked the resulting script..:-)
--- samba.init.old 2008-06-30 19:41:19.661090174 +0200 +++ samba.init 2008-06-30 19:44:20.237089746 +0200 @@ -98,8 +98,65 @@ sleep 1 $0 start ;; + status) + SMBRETURN=3 + NMBRETURN=3 + PIDS_SMBD=`pidof smbd > /dev/null; echo $?` + PIDS_NMBD=`pidof nmbd > /dev/null; echo $?` + if [ $PIDS_SMBD -gt 0 ] + then + if [ -f $SMBDPID ] + then + echo "smbd not running, pidfile exists!" + SMBRETURN=1 + else + echo "smbd not running." + fi + else + if [ -f $SMBDPID ] + then + echo "smbd running" + SMBRETURN=0 + else + echo "smbd running, but no pidfile exists!" + # No LSB defined return code for this :( + SMBRETURN=0 + fi + fi + if [ $PIDS_NMBD -gt 0 ] + then + if [ -f $NMBDPID ] + then + echo "nmbd not running, pidfile exists!" + NMBRETURN=1 + else + echo "nmbd not running." + fi + else + if [ -f $NMBDPID ] + then + echo "nmbd running" + NMBRETURN=0 + else + echo "nmbd running, but no pidfile exists!" + # No LSB defined return code for this :( + NMBRETURN=0 + fi + fi + if [ $SMBRETURN -eq 1 ] || [ $SMBRETURN -eq 1 ] + then + exit 1 + elif [ $SMBRETURN -eq $NMBRETURN ] + then + exit $SMBRETURN + else + # Apparantly, we have an unknown state, or at least something + # that we can't fix easily + return 4 + fi + ;; *) - echo "Usage: /etc/init.d/samba {start|stop|reload|restart|force-reload}" + echo "Usage: /etc/init.d/samba {start|stop|reload|restart|force-reload|status}" exit 1 ;; esac
signature.asc
Description: Digital signature