]> git.pld-linux.org Git - packages/samba.git/blob - smb.init
- up to 4.0.9
[packages/samba.git] / smb.init
1 #!/bin/sh
2 #
3 # chkconfig:    345 91 35
4 # description:  Starts and stops the Samba smbd and nmbd daemons \
5 #               used to provide SMB network services.
6 #
7 # config:       /etc/samba/smb.conf
8 # config:       /etc/samba/lmhosts
9 # processname:  nmbd
10 # processname:  smbd
11
12 # Source function library.
13 . /etc/rc.d/init.d/functions
14
15 # Source networking configuration.
16 . /etc/sysconfig/network
17
18 # Set default config
19 CFGFILE="/etc/samba/smb.conf"
20 smbd_pidfile="/var/run/smbd.pid"
21 nmbd_pidfile="/var/run/nmbd.pid"
22 lockname=smb
23
24 # Demon specified configuration.
25 . /etc/sysconfig/samba
26
27 # Check that networking is up.
28 if is_yes "${NETWORKING}"; then
29         if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
30                 msg_network_down "Samba SMB/CIFS Server"
31                 exit 1
32         fi
33 else
34         exit 0
35 fi
36
37 TMPDIR="/tmp"; export TMPDIR
38 unset TMP || :
39
40 start() {
41         # Check if the service is already running?
42         if [ -f /var/lock/subsys/$lockname ]; then
43                 msg_already_running "Samba SMB/CIFS Server"
44                 return
45         fi
46
47         msg_starting "Samba SMB/CIFS Server"
48         daemon /usr/sbin/smbd -D -s $CFGFILE
49         RETVAL=$?
50         msg_starting "Samba NetBIOS Name Server"
51         daemon /usr/sbin/nmbd -D $CFGFILE
52         [ $RETVAL -eq 0 ] && RETVAL=$?
53         if [ $RETVAL -eq 0 ]; then
54                 touch /var/lock/subsys/$lockname
55         fi
56 }
57
58 stop() {
59         # Stop daemons.
60         if [ ! -f /var/lock/subsys/$lockname ]; then
61                 msg_not_running "Samba SMB/CIFS Server"
62                 return
63         fi
64
65         msg_stopping "Samba SMB/CIFS Server"
66         killproc --pidfile $smbd_pidfile smbd
67
68         msg_stopping "Samba NetBIOS Name Server"
69         killproc --pidfile $nmbd_pidfile nmbd
70         rm -f /var/lock/subsys/$lockname >/dev/null 2>&1
71 }
72
73 reload() {
74         if [ ! -f /var/lock/subsys/$lockname ]; then
75                 msg_not_running "Samba SMB/CIFS Server"
76                 RETVAL=7
77                 return
78         fi
79
80         msg_reloading "Samba SMB/CIFS Server"
81         killproc --pidfile $smbd_pidfile smbd -HUP
82         RETVAL=$?
83 }
84
85 condrestart() {
86         if [ ! -f /var/lock/subsys/$lockname ]; then
87                 msg_not_running "Samba SMB/CIFS Server"
88                 RETVAL=$1
89                 return
90         fi
91
92         stop
93         start
94 }
95
96 rc_status() {
97         status smbd
98         RETVAL=$?
99         status nmbd
100         RET=$?
101         [ $RETVAL -eq 0 ] && RETVAL=$RET
102 }
103
104 RETVAL=0
105 # See how we were called.
106 case "$1" in
107   start)
108         start
109         ;;
110   stop)
111         stop
112         ;;
113   restart)
114         stop
115         start
116         ;;
117   try-restart)
118         condrestart 0
119         ;;
120   reload|force-reload)
121         reload
122         ;;
123   status)
124         rc_status
125         ;;
126   *)
127         msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|status}"
128         exit 3
129 esac
130
131 exit $RETVAL
This page took 0.383301 seconds and 3 git commands to generate.