Eu tenho inotifywait executando com sucesso como -m iniciado do meu diretório de usuário usando um script bash. Meu usuário é membro do www-data. Aqui está o script:
#!/bin/bash
inotifywait -m -r --exclude '.*\.tmp' ../../var/www/html/mysite.art/wp-content/uploads/ -e close_write |
while read path action file; do
#echo "The file '$file' appeared in directory '$path' via '$action'"
# do something with the file
jpegoptim -s --all-progressive -t -m30 $path$file
done
Se eu carregar um arquivo jpg, usando o sftp, para o meu diretório uploads / 2018/04 do Wordpress, o inotifywait detectará o novo arquivo e executará o jpegoptim conforme especificado no script. Aqui está o resultado ls -lh para aquele arquivo:
total 432K
-rw-r--r-- 1 myuser www-data 431K Apr 12 19:48 perspectivesketching.jpg
Arquivo compactado como esperado. E FWIW aqui são permissões na pasta 04:
drwxrwsr-x 2 www-data www-data 4.0K Apr 12 19:54 04
Agora eu removi esse arquivo para esvaziar o diretório para o próximo teste.
Se eu carregar o mesmo arquivo jpg usando a ferramenta de upload de mídia backend do Wordpress, inotifywait não detectará o novo arquivo e executará o script. Aqui está o resultado ls -lh após o upload via Wordpress:
total 1.3M
-rw-rw-r-- 1 www-data www-data 1.3M Apr 12 19:54 perspectivesketching.jpg
Alguma idéia porque?
NOTA: Eu tenho a criação de miniaturas desativada para o Wordpress. O Wordpress não compacta o arquivo original, por isso estou fazendo a compactação por meio do script acima. Tudo que eu uso é o arquivo original.
Já fiquei perplexo nestas várias horas agora. Muito obrigado por qualquer insight!
Tags compression wordpress