Wie einer der Vorredner schon sagte,
gibt es ein sogenanntes Subversion System.
Ein sehr beliebtes Derivat für Clients ist TortoiseSVN, welches als Shellerweiterung fungiert (Sprich es integriert sich zb. als Menüeintrag in deinem Explorer)
Die Funktionsweise des Programms ist relativ einfach:
Wie bei vielen Anwendungen gibt es Server (Hier sogenannte „Repositories“ und X Clients.
Das Repository stellt die entsprechenden Ordner und/oder Dateien bereit, zu denen dann Ordner auf den Clients zugewiesen werden können.
Verändert nun einer der Clients diese Datei, kann er diese als neue Subversion hochladen und durch ein sogenanntes SVN Checkout können dann alle anderen Clients sehen, was genau an dieser Datei verändert wurde, welche Zeilen zb. modifiziert wurden usw. (und sie natürlich dann zu Ihren persönlichen Dateien hinzufügen)
Es gibt jedoch verschiedene Subversion Clients für versch. Plattformen. Hier mal ein paar gelistet (Quelle: http://subversion.tigris.org/)
TortoiseSVN (Windows)
Subclipse (Eclipse)
Subversive (Eclipse)
SCPlugin (Mac OS X)
RapidSVN (cross-platform)
AnkhSVN (Visual Studio)
VisualSVN (Visual Studio)
Falls das nicht ist was du suchst, und du vielleicht nur eine lösung zum 1:1 Backup suchst, schau dir vielleicht mal Bacula spezifisch mit dessen File Daemon an. Da gibt es die Lösung 1 Server zu X Servern/Clients, wobei man auf dem (Bacula) Storageserver dann nach eingestellter Konfiguration den sog. Filedaemon auf Server X, Y und Z fragt, welche Dateien er denn nun rübergesichert haben möchte und er diese dann je nach Konfigurationseinstellungen archiviert. Zusätzlich dazu gibt es dann noch den Storage Daemon, was für dich vielleicht eine Art „Erweiterung“ wäre, die man in zukunft in Betracht ziehen könnte, da dieser ermöglicht zb. auf Wechseldatenträger wie Bänder o.Ä. zu sichern.
Hoffe ich konnte dir helfen 
So far,
Stefan