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

0

seguinte problema: Eu tenho um servidor que precisa montar um compartilhamento de rede do Windows, a fim de copiar um arquivo nele. Então adicionei o compartilhamento no fstab para 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 da seguinte forma:

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

O problema é que o computador do Windows está desligado à noite no início da manhã. Primeiro, durante esse tempo, a carga no servidor é de 100% em um núcleo devido ao script while [true]. Em segundo lugar, às vezes a montagem não está funcionando mais após a inicialização do computador do 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. Precisa ser reiniciado.

Como posso ter certeza de que a montagem está sempre lá enquanto o computador está ligado. Eu talvez precise de alguma forma desmontar a parte? Eu posso desmontar 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 uma carga de CPU menor à noite?

Obrigado pela sua ajuda!

    
por Tobi 12.02.2016 / 00:17

1 resposta

1

você pode verificar a montagem antes de tentar se mover:

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 comando sleep no processo pode atenuar seu problema de 100% de utilização da CPU. Martelar um processo sem pausa não é uma boa abordagem.

    
por 12.02.2016 / 00:30