Assegure-se de que um arquivo via ftp carregado esteja completo

1

Eu quero escrever um script que seja executado em um servidor e procure por um arquivo de configuração a cada x segundos e inicie ou mate outros scripts, dependendo dos dados no arquivo de configuração. A minha pergunta agora é: quando alguém faz o upload desse arquivo de configuração via ftp, pode ser que meu script tenha apenas uma parte desses dados de configuração se o upload não estiver concluído. Como posso garantir que nunca recebo um arquivo de configuração quebrado (= ainda não concluído)?

    
por stofl 19.10.2011 / 16:22

2 respostas

1

Pode ser possível obter um arquivo quebrado, especialmente se ele for muito grande. Se eles são realmente pequenos (algumas linhas), não é muito provável. Você tem que pensar sobre o que acontece se você lê-lo enquanto um novo está sendo carregado, ou se algo interrompe o upload.

Uma maneira de lidar com esse tipo de coisa é fazer o upload do arquivo para um nome temporário e, em seguida, renomeá-lo para substituir o real. Dessa forma, o real nunca é incompleto.

Embora você possa fazer isso com o cliente, é um pouco inconveniente se os envios forem manuais. (ótimo se eles são automáticos embora).

No entanto, alguns servidores FTP cuidarão disso para você.

Por exemplo, o ProFTPD tem a opção de configuração HiddenStores:

link

O NcFTPd tem algo parecido:

link

Dê uma olhada no manual para qualquer servidor FTP que você esteja usando.

    
por 19.10.2011 / 23:49
0

Dê uma olhada no mod_digest para o ProFTPD.

    
por 19.10.2011 / 16:25

Tags