packaging(RHEL-CTDB): control starting of nmbd via START_NMBD from /etc/sysconfig...
[obnox/samba-ctdb.git] / packaging / RHEL-CTDB / setup / smb.init
1 #!/bin/sh
2 #
3 # chkconfig: - 91 35
4 # description: Starts and stops the Samba smbd and nmbd daemons \
5 #              used to provide SMB network services.
6 #
7 # pidfile: /var/run/samba/smbd.pid
8 # pidfile: /var/run/samba/nmbd.pid
9 # config:  /etc/samba/smb.conf
10
11
12 # Source function library.
13 if [ -f /etc/init.d/functions ] ; then
14   . /etc/init.d/functions
15 elif [ -f /etc/rc.d/init.d/functions ] ; then
16   . /etc/rc.d/init.d/functions
17 else
18   exit 0
19 fi
20
21 # Avoid using root's TMPDIR
22 unset TMPDIR
23
24 # Source networking configuration.
25 . /etc/sysconfig/network
26
27 # Don't start NMBD by default.
28 # This can be overridden in /etc/sysconfig/samba .
29 START_NMBD="no"
30
31 if [ -f /etc/sysconfig/samba ]; then
32    . /etc/sysconfig/samba
33 fi
34
35 # be friendly - convert the value to lower case
36 START_NMBD=$(echo $START_NMBD | tr A-Z a-z)
37
38 # Check that networking is up.
39 [ ${NETWORKING} = "no" ] && exit 0
40
41 # Check that smb.conf exists.
42 [ -f /etc/samba/smb.conf ] || exit 0
43
44 # Check that we can write to it... so non-root users stop here
45 [ -w /etc/samba/smb.conf ] || exit 0
46
47 RETVAL=0
48
49
50 start() {
51         KIND="SMB"
52         echo -n $"Starting $KIND services: "
53         daemon smbd $SMBDOPTIONS
54         RETVAL=$?
55         echo
56         KIND="NMB"
57         if [ x"$START_NMBD" = x"yes" ]; then
58                 echo -n $"Starting $KIND services: "
59                 daemon nmbd $NMBDOPTIONS
60                 RETVAL2=$?
61                 echo
62                 [ $RETVAL -eq 0 -a $RETVAL2 -eq 0 ] && touch /var/lock/subsys/smb || \
63                         RETVAL=1
64         else
65                 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/smb || \
66                         RETVAL=1
67         fi
68         return $RETVAL
69 }       
70
71 stop() {
72         KIND="SMB"
73         echo -n $"Shutting down $KIND services: "
74         killproc smbd
75         RETVAL=$?
76         [ $RETVAL -eq 0 ] && rm -f /var/run/smbd.pid
77         echo
78         KIND="NMB"
79         if [ x"$START_NMBD" = x"yes" ]; then
80                 echo -n $"Shutting down $KIND services: "
81                 killproc nmbd 
82                 RETVAL2=$?
83                 [ $RETVAL2 -eq 0 ] && rm -f /var/run/nmbd.pid
84                 [ $RETVAL -eq 0 -a $RETVAL2 -eq 0 ] && rm -f /var/lock/subsys/smb 
85                 echo ""
86         else
87                 [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/smb 
88                 echo ""
89         fi
90         return $RETVAL
91 }       
92
93 restart() {
94         stop
95         start
96 }       
97
98 reload() {
99         echo -n $"Reloading smb.conf file: "
100         killproc smbd -HUP
101         RETVAL=$?
102         echo
103         return $RETVAL
104 }       
105
106 rhstatus() {
107         status smbd
108         status nmbd
109 }       
110
111 case "$1" in
112   start)
113         start
114         ;;
115   stop)
116         stop
117         ;;
118   restart)
119         restart
120         ;;
121   reload)
122         reload
123         ;;
124   status)
125         rhstatus
126         ;;
127   condrestart)
128         [ -f /var/lock/subsys/smb ] && restart || :
129         ;;
130   *)
131         echo $"Usage: $0 {start|stop|restart|reload|status|condrestart}"
132         exit 1
133 esac
134
135 exit $?