Hi all,
A while ago I posted about needing to access samba shares on the same machine
that the samba server was running on.
Someone posted a script to mount the shares and all was well till I upgraded
my PC hadware and had a small accident :(
I have tried modifing /etc/init.d/samba adding ...
mount -t smbfs //127.0.0.1/common /mnt/samba/common -o
credentials=/home/dave/.smbpw,uid=dave,gid=dave,fmask=660,dmask=770
> /dev/null
mount -t smbfs //127.0.0.1/windows /mnt/samba/windows -o
credentials=/home/dave/.smbpw,uid=dave,gid=dave,fmask=660,dmask=770
> /dev/null
mount -t smbfs //127.0.0.1/archive /mnt/samba/archive -o
credentials=/home/dave/.smbpw,uid=dave,gid=dave,fmask=660,dmask=770
> /dev/null
and
umount //127.0.0.1/common
umount //127.0.0.1/windows
umount //127.0.0.1/archive
To the appropriate bits, this works most of the time but fails to mount 1 or
more shares randomly. Thinking this was because the samba demons had not had
time to startup properly I added a 10s delay, still random fail to mounts.
Does anyone have any ideas ?
Oh yes, if I open an xterm and '/etc/init.d/samba restart' it always
mounts
the shares AOK
Dave
#!/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_begin_msg "Starting Samba daemons.."
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
if ! start-stop-daemon --start --quiet --oknodo
--exec /usr/sbin/smbd -- -D; then
log_end_msg 1
exit 1
fi
fi
mount -t smbfs //127.0.0.1/common /mnt/samba/common -o
credentials=/home/dave/.smbpw,uid=dave,gid=dave,fmask=660,dmask=770
> /dev/null
mount -t smbfs //127.0.0.1/windows /mnt/samba/windows -o
credentials=/home/dave/.smbpw,uid=dave,gid=dave,fmask=660,dmask=770
> /dev/null
mount -t smbfs //127.0.0.1/archive /mnt/samba/archive -o
credentials=/home/dave/.smbpw,uid=dave,gid=dave,fmask=660,dmask=770
> /dev/null
log_end_msg 0
;;
stop)
log_begin_msg "Stopping Samba daemons..."
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
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
umount //127.0.0.1/common
umount //127.0.0.1/windows
umount //127.0.0.1/archive
log_end_msg 0
;;
reload)
log_begin_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
;;
*)
log_success_msg "Usage: /etc/init.d/samba
{start|stop|reload|
restart|force-reload}"
exit 1
;;
esac
exit 0