diff options
Diffstat (limited to 'packaging/Debian/debian-unstable/samba.init')
-rw-r--r-- | packaging/Debian/debian-unstable/samba.init | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/packaging/Debian/debian-unstable/samba.init b/packaging/Debian/debian-unstable/samba.init new file mode 100644 index 0000000000..c4e19ee54c --- /dev/null +++ b/packaging/Debian/debian-unstable/samba.init @@ -0,0 +1,90 @@ +#!/bin/sh +# +# Start/stops the Samba daemons (nmbd and smbd). +# +# + +# Defaults +RUN_MODE="daemons" + +# Reads config file (will override defaults above) +[ -r /etc/default/samba ] && . /etc/default/samba + +NMBDPID=/var/run/samba/nmbd.pid +SMBDPID=/var/run/samba/smbd.pid + +# clear conflicting settings from the environment +unset TMPDIR + +# See if the daemons are there +test -x /usr/sbin/nmbd -a -x /usr/sbin/smbd || exit 0 + +. /lib/lsb/init-functions + +case "$1" in + start) + log_daemon_msg "Starting Samba daemons" "nmbd" + + if ! start-stop-daemon --start --quiet --oknodo --exec /usr/sbin/nmbd -- -D; then + log_end_msg 1 + exit 1 + fi + + if [ "$RUN_MODE" != "inetd" ]; then + log_progress_msg "smbd" + if ! start-stop-daemon --start --quiet --oknodo --exec /usr/sbin/smbd -- -D; then + log_end_msg 1 + exit 1 + fi + fi + + log_end_msg 0 + ;; + stop) + log_daemon_msg "Stopping Samba daemons" "nmbd" + + start-stop-daemon --stop --quiet --pidfile $NMBDPID + # Wait a little and remove stale PID file + sleep 1 + if [ -f $NMBDPID ] && ! ps h `cat $NMBDPID` > /dev/null + then + # Stale PID file (nmbd was succesfully stopped), + # remove it (should be removed by nmbd itself IMHO.) + rm -f $NMBDPID + fi + + if [ "$RUN_MODE" != "inetd" ]; then + log_progress_msg "smbd" + start-stop-daemon --stop --quiet --pidfile $SMBDPID + # Wait a little and remove stale PID file + sleep 1 + if [ -f $SMBDPID ] && ! ps h `cat $SMBDPID` > /dev/null + then + # Stale PID file (nmbd was succesfully stopped), + # remove it (should be removed by smbd itself IMHO.) + rm -f $SMBDPID + fi + fi + + log_end_msg 0 + + ;; + reload) + log_daemon_msg "Reloading /etc/samba/smb.conf" "smbd only" + + start-stop-daemon --stop --signal HUP --pidfile $SMBDPID + + log_end_msg 0 + ;; + restart|force-reload) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "Usage: /etc/init.d/samba {start|stop|reload|restart|force-reload}" + exit 1 + ;; +esac + +exit 0 |