Você pode usar lsyncd :
Lsyncd watches a local directory trees event monitor interface (inotify or fsevents). It aggregates and combines events for a few seconds and then spawns one (or more) process(es) to synchronize the changes. By default this is rsync.
Você pode especificar o tempo limite após o qual um arquivo foi alterado para ser sincronizado. Definir como, por exemplo cinco vezes o tempo de upload típico e você provavelmente está bem.