Se você precisar de diretórios sync e não apenas uma cópia espelhada de um diretório, recomendo Uníssono , que usamos em nosso ambiente. Ele pode manter dois diretórios locais sincronizados OU um diretório local e um remoto sincronizados.
Você pode executá-lo como um cron job para verificar e propagar quaisquer alterações, ou você pode disparar o Unison "on-demand" usando incrond que permite executar o Unison somente se uma alteração de arquivo foi detectada. Eu não usei o último método, então não posso comentar sobre isso. Temos o Unison rodando a cada minuto via cron para checar as mudanças nos dois diretórios, e isso funciona bem para nós. Ele possui um mecanismo de bloqueio integrado para que não execute outro processo Unison, se estiver em execução no momento.
Ele utiliza o rsync nos bastidores e é muito flexível em termos de especificação de exclusões de arquivos. As prioridades também são flexíveis, por exemplo, se myfile.csv
foi alterado no diretório A e B, como o Unison deve lidar com isso? Você pode usar o mais novo, o mais antigo, preferir o diretório A, preferir o diretório B, etc ...