Executa automaticamente um script em um arquivo FTP enviado

3

Existe uma maneira de executar um script sobre um arquivo que foi carregado em um servidor FTP.

Estou executando o ProFTP no servidor e gostaria de processar os arquivos enviados imediatamente após o upload deles. As maneiras que eu tenho pensado atualmente são

  1. Cron Job para localizar novos arquivos no FTP e processá-los a cada minuto.
  2. Grave um daemon para monitorar o log de upload de arquivos e use essas informações para processar o arquivo.

Existe uma maneira melhor ou uma diretiva que eu possa definir no servidor para executar um script em todos os uploads de arquivos?

Atualização: Linux OS

    
por jW. 23.10.2009 / 01:42

3 respostas

4

Você não declara o seu sistema operacional, mas se você estiver em uma caixa do Linux, você pode ligar 'inotify', que é um subsistema de kernel que é acionado quando eventos do sistema de arquivos acontecem. Isso deve dar um tempo de resposta muito melhor que o cron, que é executado somente com granularidade de um minuto.

O seguinte link irá ajudá-lo, mas existem Perl, Python e muitas outras ligações disponíveis.

link

    
por 23.10.2009 / 02:00
3

Se a mudança do seu daemon de FTP não for um problema, então o pure-ftpd tem essa funcionalidade.

Espero que isso ajude.

    
por 23.10.2009 / 11:23
1

As duas abordagens gerais para isso seriam:

  1. Use a funcionalidade incorporada ao ProFTP (se existir) ou outro produto de servidor FTP
  2. Ter algum processo do sistema operacional ou cron job (como você mencionou nos dois # 1 e 2) aguardar o arquivo, ou melhor do que polling é observar os eventos do sistema de arquivos e responder adequadamente. Consulte o link .

A abordagem mais fácil é usar a funcionalidade incorporada ao servidor FTP, se existir. Se não, você provavelmente pode baixar o código do observador de arquivos e / ou um script de shell já escrito que você pode cron.

    
por 23.10.2009 / 01:51