O compartilhamento do Samba ainda está em uso após a hibernação do cliente


1

Eu tenho um HTPC baseado no Ubuntu executando o Samba (o servidor). Outros PCs na rede local (os clientes) se conectam aos compartilhamentos Samba no NAS e os usam como unidades de rede (todos esses PCs executam o Win 7).

Eu gostaria que o servidor dormisse quando não estiver sendo usado de forma alguma. Configurei com êxito os clientes para ativá-lo quando eles se conectam à rede local; o que causa problemas é dormir. Eu preciso de uma maneira de determinar com segurança que nenhum dos compartilhamentos do Samba está atualmente em uso. Tentei usar os ganchos pré / pós-executivo smb.confjunto com um script personalizado para acompanhar os compartilhamentos usados ​​atualmente e que funcionavam na maioria das vezes. Exceto no caso em que o cliente não é desligado, mas hibernado. Quando isso acontece, o gancho pós-exec nunca é chamado. E esse é um grande problema, porque metade dos clientes na rede local são laptops.

Desde então, desenvolvi um trabalho cron simples, que é executado a cada dois minutos. Sua tarefa é detectar se alguém está usando o servidor de alguma forma (incluindo compartilhamentos Samba montados); caso contrário, ele colocará o servidor em suspensão. Até agora, tenho analisado a saída de smbstatus -S, mas isso ainda mostra que os compartilhamentos estão em uso, mesmo depois que o cliente que deveria usá-los é hibernado e sai da rede. Além disso, quando eu faço um netstat -tp | grep smbdnesse momento, a conexão com o cliente infrator está presente na saída, aparecendo como "ESTABELECIDO", com o IP correto e tudo.

Neste ponto, estou prestes a receber os IPs dos clientes da netstatsaída e enviá-los por ping, um por um, para verificar se os clientes estão realmente funcionando: o / Eu realmente gostaria de evitar fazer isso , como a solução atual já é bastante vodu.

Por favor, se alguém tiver uma idéia do que mais posso fazer, qualquer ajuda seria muito apreciada.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.