Compartilhamento de rede de montagem automática que está offline temporariamente

Compartilhamento de rede de montagem automática que está offline temporariamente

seguinte problema: Eu tenho um servidor que precisa montar um compartilhamento de rede do Windows para copiar um arquivo nele. Então adicionei o compartilhamento fstabpara que ele seja montado na inicialização.

 //192.168.1.xx/share   /mnt/networkshare   cifs    noperm,username=user,password=******    0   0

Um script faz um loop para copiar o arquivo no compartilhamento assim:

while [ true ]
  do
    if [ -f /path/to/the/file ]
    then
      mv /path/to/the/file /mnt/networkshare
    fi
done

O problema é que o computador Windows desliga à noite ao iniciar pela manhã. Primeiro, durante esse período, a carga no servidor é de 100% em um núcleo devido ao script while [true]. Em segundo lugar, às vezes a montagem não funciona mais após a inicialização do computador Windows. (um crontab * * * * * mount -aé executado para montar tudo novamente) Os arquivos não são copiados e a montagem não está acessível no servidor. Ele precisa ser reiniciado.

Como posso ter certeza de que a montagem estará sempre lá enquanto o computador estiver ligado? Talvez eu precise de alguma forma desmontar o compartilhamento? Posso desmontá-lo todas as noites, mas e se o computador Windows for reiniciado durante o dia? Como posso pausar o script while [true] se a montagem não estiver disponível para menor carga da CPU durante a noite?

Obrigado pela ajuda!

Responder1

você pode verificar a montagem antes de tentar movê-la:

df | grep "/mnt/networkshare" |grep -v grep >/dev/null; r=${?}
if [ ${r} -eq 0 ]
then
  mv /path/to/the/file /mnt/networkshare
fi

além disso, adicionar um sleepcomando no processo pode atenuar o problema de utilização de 100% da CPU. Martelar um processo sem interrupção não é uma boa abordagem.

informação relacionada