blob: f181db1cdcb3dc084d8e1ec6b034cc6bc41b0499 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
#!/bin/sh
#PKG samba
#INIT 80
. /etc/rc.conf
check_mount() {
sed -n -e '/^#/d' -e '/path/s/^.*=//p' \
/etc/samba/smb.conf | while read path; do
grep -v '^#' /etc/fstab | fgrep -q "$path" || continue
count=0
while :; do
if fgrep -q "$path" /proc/mounts; then
logger -t smb "Device mounted, starting samba"
break
fi
if test $count -eq 9; then
logger -s "required filesystem missing"
exit 1
fi
sleep 1
count=$(($count+1))
done
done
}
case $1 in
autostop) ;;
autostart)
test x"${samba:-NO}" = x"NO" && exit 0
test x"$samba" = x"DAEMON" && test -x /bin/mksh && exec mksh -T- $0 start
exec sh $0 start
;;
start)
check_mount
[ -d /var/run/samba ] || mkdir -p /var/run/samba
[ -d /var/log/samba ] || mkdir -p /var/log/samba
/usr/sbin/nmbd -D
/usr/sbin/smbd -D
;;
stop)
kill $(pgrep -f /usr/sbin/nmbd)
kill $(pgrep -f /usr/sbin/smbd)
;;
restart)
sh $0 stop
sh $0 start
;;
*)
echo "usage: $0 {start | stop | restart}"
exit 1
esac
exit $?
|