Samba: verifica se o arquivo está completo

0

Eu tenho um dispositivo (com o Ubuntu nele) com o Samba instalado. Há também uma tarefa cron que copia arquivos do compartilhamento do Samba a cada 60 segundos. Agora estou correndo para uma situação em que o cron job às vezes move arquivos incompletos - como no arquivo que ainda está sendo transmitido para a rede. Isso acontece especialmente quando os arquivos são muito grandes.

Existe uma maneira de verificar a integridade de um arquivo? Ou, existe uma configuração do Samba que irá bloquear o arquivo (mantê-lo de ser movido) até que esteja completo?

    
por thoughtarray 01.12.2015 / 22:28

1 resposta

0

Até que a transferência de arquivos seja concluída, o arquivo estará em uso (aberto) pelo processo do Samba. Você pode testar isso por meio do comando fuser . Então, seu comando de movimento seria algo como:

if [[ ! fuser /my/file ]]; then 
    mv /my/file /somewhere/else 
fi 

Isso só tentará mover o arquivo se o arquivo estiver fechado, o que significa que a transferência foi concluída.

    
por Jos 03.12.2015 / 01:15