loadconfig
-[ "$CTDB_MANAGES_SAMBA" = "yes" ] || [ "$CTDB_MANAGES_WINBIND" = "yes" ] || exit 0
-
start_samba() {
# create the state directory for samba
- /bin/mkdir -p $CTDB_BASE/state/samba
+ /bin/mkdir -p $CTDB_VARDIR/state/samba
# make sure samba is not already started
[ "$CTDB_MANAGES_SAMBA" = "yes" ] && {
}
}
- # restart the winbind service
+ # make sure winbind is not already started
check_ctdb_manages_winbind
[ "$CTDB_MANAGES_WINBIND" = "yes" ] && {
service "$CTDB_SERVICE_WINBIND" stop > /dev/null 2>&1
# make absolutely sure winbindd is dead
killall -q -9 winbindd
}
+
+ }
+
+ /usr/bin/net serverid wipe
+
+ # start the winbind service
+ [ "$CTDB_MANAGES_WINBIND" = "yes" ] && {
service "$CTDB_SERVICE_WINBIND" start
}
nice_service "$CTDB_SERVICE_NMB" start
nice_service "$CTDB_SERVICE_SMB" start
}
+ return 0
}
stop_samba() {
[ "$CTDB_MANAGES_WINBIND" = "yes" ] && {
service "$CTDB_SERVICE_WINBIND" stop
}
+
+ return 0
}
# set default samba cleanup period - in minutes
}
# we keep a cached copy of smb.conf here
-smbconf_cache="$CTDB_BASE/state/samba/smb.conf.cache"
+smbconf_cache="$CTDB_VARDIR/state/samba/smb.conf.cache"
#############################################
# update the smb.conf cache in the foreground
testparm_foreground_update() {
- mkdir -p "$CTDB_BASE/state/samba" || exit 1
+ mkdir -p "$CTDB_VARDIR/state/samba" || exit 1
testparm -s 2> /dev/null | egrep -v 'registry.shares.=|include.=' > "$smbconf_cache"
}
smbstatus -np > /dev/null 2>&1 &
}
+###########################
+
+ctdb_start_stop_service
+ctdb_start_stop_service "winbind"
+
+is_ctdb_managed_service || is_ctdb_managed_service "winbind" || exit 0
+
+###########################
+
case "$1" in
startup)
ctdb_service_start
monitor)
# Create a dummy file to track when we need to do periodic cleanup
# of samba databases
- [ -f $CTDB_BASE/state/samba/periodic_cleanup ] || {
- touch $CTDB_BASE/state/samba/periodic_cleanup
+ [ -f $CTDB_VARDIR/state/samba/periodic_cleanup ] || {
+ touch $CTDB_VARDIR/state/samba/periodic_cleanup
}
- [ `/usr/bin/find $CTDB_BASE/state/samba/periodic_cleanup -mmin +$SAMBA_CLEANUP_PERIOD | wc -l` -eq 1 ] && {
+ [ `/usr/bin/find $CTDB_VARDIR/state/samba/periodic_cleanup -mmin +$SAMBA_CLEANUP_PERIOD | wc -l` -eq 1 ] && {
# Cleanup the databases
periodic_cleanup
- touch $CTDB_BASE/state/samba/periodic_cleanup
+ touch $CTDB_VARDIR/state/samba/periodic_cleanup
}
[ "$CTDB_MANAGES_SAMBA" = "yes" ] && {