Why do you not want to use rsync? It sounds to me like that's what you're asking for. Another good choice would be unison, which is like rsync but bi-directional.