anmelden
tilman.de » Programme » Synctool
English

SyncTool

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.

Features

Vorsicht, bitte!

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.

Systemvoraussetzungen

Das Programm benötigt ein installiertes Java Runtime Environment. Erfolgreich getestet unter Mac OS X (Intel) und Debian Lenny (ARM, Open JDK 6).

Benutzung

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

  [-o|--rolling-logfile]
        Logdatei rollierend mit maximal 10 MB erzeugen

  [-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"

  [--check-file-exists ]
        Synchronisation nur durchführen, wenn die angegebene Datei existiert

  [--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

Download

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

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Denken Sie unbedingt daran, Sicherungskopien Ihrer Dateien zu erstellen!

ausführbares Jarfile: SyncTool 1.2.1

Programmquellen: Eclipse-Projekt

Verwendete Programmbibliotheken

Die Software setzt die folgenden Komponenten ein:

Die Entwicklung erfolgte mit Hilfe von Eclipse, Maven und M2Eclipse.