Evita o processamento do arquivo até que a transferência SCP seja finalizada

4

Arquivos grandes são transferidos para um servidor para processamento. O servidor monitora um diretório específico usando incrond e, quando um novo arquivo é recebido, o script de processamento é executado para esse arquivo.

Como os arquivos são grandes, leva algum tempo para transferi-los. Como posso ter certeza de que o arquivo terminou de ser transferido antes de processá-lo?

    
por Demetris 15.01.2016 / 11:04

1 resposta

4

Seu problema não tem nada a ver com scp. Está relacionado com inotify , a interface do kernel que é usado para acionar uma ação em eventos do sistema de arquivos. E você é aparentemente disparando no evento errado. Leia o página man do incrontab para entender como o sistema funciona.

Se o script de processamento já é acionado quando o arquivo não foi complete, suponho que você acione o evento IN_CREATE. Você pode mudar o entrada correspondente no incrontab para acionar em IN_CLOSE_WRITE.

    
por 15.01.2016 / 12:21