Não envie evento de modificação para inotifywait se o arquivo for aberto

Não envie evento de modificação para inotifywait se o arquivo for aberto

Eu uso o VSC como editor no Windows 10 Pro e desejo sincronizar com um servidor remoto na alteração de arquivo.

Eu instalei o WSL com um sistema convidado debian

Se eu executar este script

while inotifywait -r -e modify,create,delete /path/to/folder; do
  rsync -rltzv --progress --chmod=0600 --exclude=.git/ --exclude=.vscode /path/to/folder [email protected]:~/remote/folder;
done;

O rsync é iniciado não apenas quando salvo um arquivo no VSC, mas também quando o abro. Embora isso não seja crítico, é irritante e um desperdício de largura de banda.

Posso fazer algo contra isso?

Editar

Não sei o que causou isso, mas o problema parece não acontecer mais na minha máquina com a minha configuração. Mas eu não mudei nada

Responder1

Você está monitorando muitos eventos[*]. Os eventos que importam são:

  • CLOSE_WRITE, porque colocar dados em arquivos requer fechá-los. Você também pode considerar que o arquivo está em um estado consistente nesse ponto.
  • DELETE, para arquivos que são removidos
  • MOVED_TO, MOVED_FROMpara arquivos adicionados à árvore, removidos dela ou simplesmente renomeados.

[*] Por exemplo, experimentalmente, MODIFYisso acontece muitas vezes (provavelmente para cada operação de gravação no arquivo) e copiar o arquivo nesse ponto pode copiar um arquivo em um estado inconsistente. Da mesma forma, OPENocorre mesmo se você não fizer nenhuma alteração posteriormente.

informação relacionada