Como assistir a arquivos de chegada se inotifywait não está disponível? [fechadas]

2

Eu tenho um diretório que é gravado quando outras máquinas enviam arquivos via FTP. Eu quero colocar algo em lugar que perceba quando os arquivos chegam e se o nome do arquivo contiver uma substring específica (como "jpg"), mova o arquivo para algum outro diretório (somente após o arquivo ter terminado, não antes)

Eu quero colocar isso em prática em muitos tipos diferentes de caixas Linux. Uma dessas caixas tem o kernel Linux 2.4.22. É possível que existam os mais antigos. Ainda estou verificando.

Nas máquinas mais antigas, vejo isto: inotifywait: command not found .

Eu também vi isto: The inotify API is available in Linux 2.6.13 and later

E isso: bash: watch: command not found

Idéias em POSIX sh ou bash ou C podem funcionar. Perl e Python provavelmente não estão disponíveis em todos os lugares que eu quero executar isso. Eu não tenho permissão para instalar pacotes.

    
por user1011471 08.10.2015 / 21:16

1 resposta

3

Eu escrevi este programa Perl há muito tempo que poderia começar se você entender. Usa usa o recurso inotify no kernel.

link

Você terá que alterar o código da sincronização para fazer o que precisar, mas a maioria está lá.

Eu sei que você tem um problema com o Perl, mas eu queria dar isso para você apenas no caso.

Se isso ajudar, aqui está uma demonstração sobre como fazer isso com C

link

    
por 08.10.2015 / 21:29