Executando um script bash toda vez que um arquivo é carregado? [duplicado]

0

Eu tenho uma configuração do servidor FTP (Debian) onde os usuários enviam imagens JPG.

Eu preciso de um processo rodando em segundo plano que toda vez que uma imagem é enviada via FTP, um script bash é executado para gerar arquivos em miniatura para cada imagem carregada.

Eu já tenho o script que gera a miniatura, o problema é que ele precisa ser executado manualmente, mas o que eu quero é que o script seja executado toda vez que um arquivo de imagem é carregado.

Como isso funciona?

    
por user1091856 11.03.2014 / 16:15

3 respostas

3

Considere usar inotifywait

por exemplo, assista a um diretório

inotifywait .

Em seguida, crie um arquivo nesse diretório.

Aqui está uma resposta anterior da stack_change do Unix / Linux

    
por 11.03.2014 / 17:03
2

Depende do seu servidor FTP.

Por exemplo, para pure-ftpd , você faz desta maneira:

  1. Defina a opção CallUploadScript to yes (basta criar um arquivo chamado /etc/pure-ftpd/conf/CallUploadScript e escrever yes nele)
  2. Em /etc/default/pure-ftpd-common , adicione o caminho ao script que você deseja executar em cada upload após UPLOADSCRIPT= .
  3. Reinicie o serviço ( # service pure-ftpd restart ).

Outros servidores FTP têm seus próprios caminhos. Leia a documentação.

    
por 11.03.2014 / 17:29
1

Também é possível usar ftpwatch ftpwatch - "Notifica você sobre alterações em servidores ftp remotos"

 # the crontab line
 47 5    * * 7 /usr/bin/ftpwatch
    
por 11.03.2014 / 18:05

Tags