r2sync - bidirektionale Dateisynchronisation

Konfigurationsdatei

Die Konfigurationsdatei heißt „r2sync.r2s“ (s. Schalter --config). Die Datei hat perl-Syntax, daher muß sie mit einem wahren Ausdruck enden (z.B. „1;“);

Mindestangaben

  • $BasedirL
    • lokaler Ordner (L)
  • $BasedirR
    • entfernter Ordner (R)
  • $SSHHOST
    • entfernter Server (für R) und Benutzername
    • kann leer gesetzt werden, wenn kein SSH-Zugang gemacht werden soll, sondern auch auf lokalen Ordner zugegriffen werden soll, z.B. USB-Stick

Beispiel:

$BasedirL = "/home/kfr/test/";
$BasedirR = "/home/server/test/";
$SSHHOST = 'kfr@server';
1;

optionale Angaben

  • $dbname
    • Default: „r2sync.db“;
    • Name der Datenbankdatei, in der die Zeitstempel alle gesyncten Dateien gespeichert wird.
  • $MaxTimeDiff
    • Default: „1“; (Sekunde)
    • Differenz in Sekunden die zwischen den Systemen R und L maximal akzeptiert wird
  • $ExcludeFile
  • $utf8nfd
    • Default: „1“; (an)
    • Soll auf R das convmv-Kommando gestartet werden?
    • Dadurch werden immer alle Dateinamen auf R von utf8-nfc-Format nach utf8-nfd-Format gewandelt
    • Unix/Linux kommt auch mit utf8-nfd zurecht, aber OS X nicht.
    • Wenn man das abschaltet und zwischen Unix/Linux und OS-X synct können Dateien gelöscht werden. :!:
  • $utf8cmd
    • default:
      convmv -f utf8 -t utf8 --nfd --notest -r";
    • Siehe $utf8nfd
    • Das Kommando um „convmv“ aufzurufen, e.v muss der komplette Pfad angegeben werden, z.B. /usr/bin/convmv

Kommandozeile

  * -h, --help             : print this help text
  * -v, --version          : print version (and exit)
  * -c, --config f         : config-file 'f'
    * Der Name der Konfigurationsdatei (Default: r2sync.r2s) kann hier definiert werden
  * -d, --debug            : show debug messages
    * gibt eine Menge Meldungen aus, die zum Debuggen oder zum Verstehen sinnvoll sein können
  * -n, --dry-run          : dry-run, show what would have been transferred
    * Parameter analog zu rsync
    * führt keine Kommandos aus um Dateien hoch- oder runterzuladen oder zu löschen
    * führt aber dennoch "convmv" um utf8-Dateinamen zu wandeln
  * -s, --showdb           : show database (and exit)
    * zeigt die Dateinamen und Zeitstempel aus der Datenbank (Default: r2sync.db) an
  *     --cleardb          : clear database
    * löscht den Inhalt der Datenbank
  * -l, --leaveconflicts   : leave conflicts
    * Konflikt werden nicht automatisch gelöst (durch Anhängen von "-1" etc), sondern Dateien werden belassen wie sie sind
  * -x, --notexecute       : not executing commands except for status
    * führt die Kommandos zum Syncen der Dateien nicht wirklich aus, nur Anzeige (Debugging)