Dieses Programm synchronisiert zwei Verzeichnisse. Dabei werden die Dateien anhand ihrer Größe und des Änderungsdatums verglichen, optional kann eine Hashsumme des Inhalts mit einbezogen werden. Die Zielsetzung während der Entwicklung war eine Optimierung für große Verzeichnisbäume in Remote-Dateisystemen. Eine ausführliche Beschreibung der Beweggründe zur Entwicklung des Programms inklusive eines Vergleichs mit anderen Tools findet sich im (englischen) Blog-Artikel.
Die Software wurde für unbeaufsichtigte Stapelverarbeitung entwickelt, deshalb gibt es keine spezielle Behandlung von kollidierenden Dateiänderungen. Falls eine Datei seit der letzten Synchronisierung auf beiden Seiten geändert wurde, überschreibt das Programm die ältere mit der neueren. (Grundsätzlich könnte das Programm aber problemlos um eine entsprechende Funktion erweitert werden.
Erstellen Sie Sicherungskopien Ihrer Dateien vor dem Einsatz des Programms! Die Software wird kostenlos und ohne jegliche Gewährleistung und Garantie überlassen. Insbesondere wird weder Fehlerfreiheit, noch die Verwendbarkeit für einen bestimmten Zweck garantiert.
Das Programm benötigt ein installiertes Java Runtime Environment. Erfolgreich getestet unter Mac OS X (Intel) und Debian Lenny (ARM, Open JDK 6).
Verfügbare Parameter:
Usage: java -jar synctool-1.0.8.jar <source path> <destination path> [(-f|--dbfile) <database file>] [(-l|--logfile) <logfile>] [(-j|--jabber) <jabber address>] [(-r|--server) <jabber server>] [(-u|--user) <jabber user>] [(-p|--password) <jabber password>] [-d|--dry-run] [-h|--hashing] [-i|--ignore-directory-attributes] [-s|--silent] [--debug] [-?|--help]
<source path>
das Quellverzeichnis
<destination path>
das Zielverzeichnis
[(-f|--dbfile) <database file>]
Pfad zur Datenbank. (Wird neu angelegt, sofern nicht vorhanden.) (default: synctool)
[(-l|--logfile) <logfile>]
Logdatei, in die sämtliche Programmausgaben geschrieben werden
[(-j|--jabber) <jabber address>]
sendet sämtliche Ausgaben an den angegebenen Jabber-Benutzer
[(-r|--server) <jabber server>]
Jabber Server
[(-u|--user) <jabber user>]
Jabber Benutzername
[(-p|--password) <jabber password>]
Jabber Passwort
[-d|--dry-run]
führt einen Testlauf ohne Änderungen am Dateisystem durch
[-h|--hashing]
zusätzlich MD5-Hashsummen der Dateien berechnen und vergleichen
[-i|--ignore-directory-attributes]
Attribute von Verzeichnissen, die auf beiden Seiten existieren werden nicht angeglichen
[-s|--silent]
verzichtet auf Ausgabe der Meldugen "Entering directory" and "No operation for file"
[--debug]
Debugging-Informationen ausgeben
[-?|--help]
Hilfe ausgeben und das Programm beenden
Beispiel:
java -jar synctool.jar -i -s -l sychronization.log /media/hidrive /media/usb/localdrive
SyncTool wird unter der Apache License 2.0 zur Verfügung gestellt:
Copyright 2011 Tilman Walther
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
You may obtain a copy of the License at
Denken Sie unbedingt daran, Sicherungskopien Ihrer Dateien zu erstellen!
ausführbares Jarfile: SyncTool 1.0.8
Programmquellen: Eclipse-Projekt
Die Software setzt die folgenden Komponenten ein:
Die Entwicklung erfolgte mit Hilfe von Eclipse, Maven und M2Eclipse.