Il 26/07/2011 10:06, Malte Forkel ha scritto:
Am 25.07.2011 23:34, schrieb Chris Weiss:
On Mon, Jul 25, 2011 at 3:50 PM, Pascal Valois<pascal.val...@devinci.fr>  wrote:
Le 25/07/11 22:44, Jeremy Allison a écrit :

On Mon, Jul 25, 2011 at 10:21:35PM +0200, Malte Forkel wrote:

Hi,

I'm running Samba 3.2.5 on a server which I'd like to shut down when it
is not used by any client.

Is there a way to detect whether any user has opened a file on the
server?

smbstatus will tell you.

slight correction,

smbstatus tells you what file are used and by who, currently.
not who HAS opened a file.

smbstatus will also tell you who has an active connection to what
shares, even if they have yet to actually open some file.

while it's possible for someone to open a file in app that reads to
ram then closes, such as notepad.exe, making edits and letting them
sit without saving for long enough that an smb client would disconnect
the session is unlikely given the "save often" mentality that most
have gotten from using PC's.  From application crashes, to power
outages, to 2 year old kids pressing buttons, save often!

Thanks for your suggestions!

so depending on what you mean by "has opened" (opened before and still
use it, or opened before and may have close it), smbstatus may be the
answer or not.

By "has opened" I mean "opened before and still use it". Actually,
something more like "would be disappointed if the server went down".
Ideally, a user might e.g. open a couple of source files to analyze them
and after a while (without making changes of saving anything) try to
open another file in the same directory.

I've done a couple of experiments with smbstatus, specifically its -S
and -L options. My clients run Windows 7 SP1 and Windows XP SP3. While a
Windows Expolores is opened for a share (or one of its subdirectories),
"smbstatus -S" will list that share. But once the Explorer is closed,
the entry is cleared. Similarly, using a File Open Dialog only produces
a short lived entry.

"smbstatus -L" does not seem to produce any list entries once a user has
opened a file. May be I have to specify some more specific locking in
smb.conf?

I've also experimented with "root preexec" and "root postexec". Those
seem to be triggered at the same time the output of "smbstatus -S" changes.

Currently, I'm not even sure Samba preserves the kind of state
information required to detect the usage scenario  I'm interested in. Is
there any concept of an "open file" in Windows/Samba, after all? May be
it depends on the application used to open the file?



I suggest trying smbstatus -B too (shows byterange locks).

Also, reading the whole thread it seems to me (FWIW) that the only way to be 100% sure that a samba restart won't disappoint anyone is have smbstatus show no active connection.

--
Marcello Romani
--
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/options/samba

Reply via email to