From: Andrew Tridgell Date: Sun, 17 Jun 2007 17:15:08 +0000 (+1000) Subject: run smbstatus every 10 minutes to scrub databases X-Git-Tag: tevent-0.9.20~348^2~2483 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f532ada44589725676aac980470e10e8fd584e4f;p=thirdparty%2Fsamba.git run smbstatus every 10 minutes to scrub databases (This used to be ctdb commit cd119cdb9a1a7e0545f1c33a2a156a3d3c5d7645) --- diff --git a/ctdb/config/events.d/50.samba b/ctdb/config/events.d/50.samba index 7005fc8c9b0..8a36297e3d7 100755 --- a/ctdb/config/events.d/50.samba +++ b/ctdb/config/events.d/50.samba @@ -11,6 +11,20 @@ shift [ "$CTDB_MANAGES_SAMBA" = "yes" ] || exit 0 +# set default samba cleanup period - in minutes +[ -z "$SAMBA_CLEANUP_PERIOD" ] && { + SAMBA_CLEANUP_PERIOD=10 +} + +########################### +# periodic cleanup function +periodic_cleanup() { + # running smbstatus scrubs any dead entries from the connections + # and sessionid database + echo "`date` Running periodic cleanup of samba databases" + smbstatus -n > /dev/null 2>&1 +} + case $cmd in startup) # create the state directory for samba @@ -63,8 +77,9 @@ case $cmd in [ -f /etc/ctdb/state/samba/periodic_cleanup ] || { touch /etc/ctdb/state/samba/periodic_cleanup } - [ `/usr/bin/find /etc/ctdb/state/samba/periodic_cleanup -mmin +1 | wc -l` -eq 1 ] && { + [ `/usr/bin/find /etc/ctdb/state/samba/periodic_cleanup -mmin +$SAMBA_CLEANUP_PERIOD | wc -l` -eq 1 ] && { # Cleanup the databases + periodic_cleanup touch /etc/ctdb/state/samba/periodic_cleanup }