12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- #!/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 $?
|