[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Como verificar se um compartilhamento nfs está ok?
From: |
Enio Onodera |
Subject: |
Re: [shell-script] Como verificar se um compartilhamento nfs está ok? |
Date: |
Sun, 7 Nov 2010 08:01:40 -0800 (PST) |
Aparentemente está tudo ok. Só estou respondendo para dar uma sugestão... não
sei se é viável e necessário no seu caso, mas eu testaria a se a máquina está
ativa na rede (ping, por exemplo) e se a porta do serviço está aberta antes de
montar ou desmontar.Claro que faria isso se não existisse nada protegendo
contra esses testes.
Abs,Enio Onodera
--- Em dom, 7/11/10, Lawrence Waclawiak <address@hidden> escreveu:
De: Lawrence Waclawiak <address@hidden>
Assunto: Re: [shell-script] Como verificar se um compartilhamento nfs está ok?
Para: address@hidden
Data: Domingo, 7 de Novembro de 2010, 11:25
O que pedi é sim ajuda com shell script e não com administração de NFS.
Fazemos scripts para criar soluções e isso inclui sim administrar
serviços como o NFS e outros, desde que eu não venha aqui e pergunte
"Como configuro o servidor NFS para que..." estarei falando de script.
Como a MODERAÇÃO interpretou de forma errônea e já se passou um certo
tempo consegui uma solução que segue abaixo para conhecimento dos demais.
funcao(){
touch "$1"/$Arquivo >> /dev/null&
sleep 5
if ! ps -p "$!" >> /dev/null;then
rm -f "$1"/$Arquivo
return 0
else
kill - 9 "$!" >> /dev/null
return 1
fi
}
main(){
if funcao "/ponto/de/montagem";then
echo "Permissões de escrita garantidas"
else
echo "Sem permissão de escrita"
fi
}
main
Dessa forma dentro da função MAIN disparo a função "funcao" testando seu
retorno com o IF.
Na função "funcao" disparo o comando touch em segundo plano tentando
criar um arquivo no compartilhamento NFS,
aguardo 5 segundos e verifico se o processo do touch ainda está vivo
utilizando a variável especial $! que contém o PID do ultimo job
disparado em segundo plano, nesse caso o touch.
Se o processo não existir é porque ele não travou e completou
corretamente assim removo o arquivo criado e retorno 0(Zero), se ele
existir mato ele e retorno 1(Um).
Ou seja, resolvido utilizando shell script, não modifiquei nada no
servidor NFS.
Essa solução me pareceu funcionar corretamente, porém peço novamente a
avaliação dos colegas para saber se não deixei nenhum "furo" nessa solução.
Grato,
Lawrence Waclawiak
[As partes desta mensagem que não continham texto foram removidas]