Estou usando o rsync para baixar muitos arquivos para um diretório como este:
rsync /src/directory/*.txt /download/dir/
E então, usando watchmedo para executar um comando em cada novo arquivo de texto:
watchmedo shell-command -i '.*' -p '*.txt' -c 'file "${watch_src_path}"' /download/dir/
O problema é que watchmedo não está captando os padrões de ignorar e executando o comando nos arquivos temporários criados por rsync:
/download/dir/.dl_file.txt.ytfRRs: ERROR: cannot open `/download/dir/.dl_file.txt.ytfRRs' (No such file or directory)
Especificações do sistema
Ubuntu 14.04
python 2.7.6
watchmedo 0.8.3
Tendo o mesmo problema. É um monitoramento de arquivos / pastas .git. Usar ignore_pattern
e / ou ignore_directories
nos manipuladores está tendo efeito zero.
OSX, python 2.7
Parece ser um problema em todas as plataformas:
cão de guarda 0.8.3, Python 3.5, Windows 7, mesma coisa
Ainda acontecendo camada de 2 anos, watchdog 0.8.3, ainda.
Este projeto está morto?
watchmedo
corresponde a watch_src_path
completo. Por exemplo:
watchmedo shell-command --ignore-directories --recursive \
--patterns="*.xml" \
--ignore-patterns="*/.#*.xml" \
--command='echo "${watch_src_path} - ${watch_event_type}"' .
O script acima observaria recursivamente todos os arquivos xml no diretório de trabalho atual, ignorando os arquivos xml temporários que alguns editores de texto (por exemplo, emacs) podem criar.
Projetos de código aberto PS não morrem - eles são imortais :)
watchmedo corresponde ao watch_src_path completo.
Parece que está relacionado com # 335
Comentários muito úteis
watchmedo
corresponde awatch_src_path
completo. Por exemplo:O script acima observaria recursivamente todos os arquivos xml no diretório de trabalho atual, ignorando os arquivos xml temporários que alguns editores de texto (por exemplo, emacs) podem criar.
Projetos de código aberto PS não morrem - eles são imortais :)