Home
Name Modified Size InfoDownloads / Week
farsync-0.87.zip 2019-01-05 11.5 kB
README.txt 2017-01-31 5.4 kB
Totals: 2 Items   16.9 kB 0
farsync v0.87
(offline) files archive synchronizer v0.87
(c) Siegfried Wagner 2001/10/03

last update 2001/10/19

farsync is a Perl script which synchronizes two large collections of files
on separate machines. It uses MD5 sums to compare files against each other.
This allows farsync to recognize that two files are the same even if they do
not share a common name or location.

NOTE: Here archive means a lot of files stored in a lot of directories but
in a common semantic relation like for example a mp3 archive or a home
directory and NOT a packed archive like tar and so on!

The main significant feature of farsync is that it recognizes movements
of files between directories and builds the same file hierarchy on the
other host without transferring files again.

ATTENTION: You need perl and the extra binary md5sum to get this working!

runs on linux and with (a few) modifications on windows
other platforms were not tested (yet)

it was originally designed to keep the mp3 files on my machines in sync


##############################################################################
license: GNU General Public License (GPL)

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You can find it on http://www.gnu.org/licenses/gpl.txt
##############################################################################


usage:
farsync.pl [-noupdate] [-notstrict] <local_path_to_archive> [<md5list_remote>]

this produces a md5sum list of all files in <local_path_to_archive> and
compares the list with the <md5list_remote>, it then writes a few files
for further processing as described below.


The command line arguments in detail:

<local_path_to_archive> is the basic path where all your subfolders and
files lay in (it is not meant to be a packed archive like tar!)

ATTENTION: hidden directories (with a dot "." at the beginning)
in <local_path_to_archive> are NOT processed!

<md5list_remote> is the file "farsync_locallist.md5" of the
remote host (generated by running mp3archive_matcher.pl there)
which should be renamed to something like "farsync_remotelist.md5"
on the local host. (Don't forget to always have the newest copy of your
remote host's md5list!)

ATTENTION: If a file named "farsync_locallist.md5" (or the name defined
for the local md5list) exists, it is assumed to be the local md5list file!
This file will be loaded and updated with the found changes in
<local_path_to_archive> (so an existing older file will speed up
processing!)

NOTE: The first time you won't have a remote md5list file, so you have to
generate a local md5list which then will become the remote for the other
site.
This is done by running the script with just the <local_path_to_archive>
as the only argument.

ATTENTION: You also should do that if you modified the local archive
after running farsync to get an uptodate md5list for processing on the
remote host!

If you want to run farsync again after a previous (perhaps not completed)
run and don't want always to go through the md5list update use the switch
-noupdate which will do just that: no update of farsync_locallist.md5

-notstrict switches to another comparison mode, where also filenames are
compared (if the md5sum doesn't match). So use this with care as files can
be moved or even overwritten if only they have the same name but they're
not the same files (= different md5sum).

NOTE: This can be very useful on synchronizing similar archives like
for example mp3 files archives where only the id3tags differ!


After successfully processing on the local archive there will be five files
(of which the names can be changed below):

1.) farsync_warnings
    - Look at this file first, because you can avoid making big mistakes.
      You will find errors about what couldn't be done or what is incorrect
      and warnings about files that were found more than once.

2.) farsync_actions
    - This file contains the necessary commands to rename/move the files
      on the local host according to the remote site file structure.
      So execute the commands first before you begin to work on the archive.

ATTENTION: please ALWAYS check this file before processing!

    Example for execution (on linux):
    bash -x /path/to/farsync_actions 2>&1 | tee actions.log

NOTE: Don't forget to update the local md5list file after modificating
the archive!

3.) farsync_tocopy
    - This file contains a file list with all files that should be copied
      to the remote site, because they're missing there.

    Example for how to use it on a net connection (on linux):
    cd /path/to/local_archive; tar -czf - -T path/to/farsync_tocopy | ssh user@remote 'cd path/to/remote_archive/; tar -xzvf -'

4.) farsync_missinghere
    - This file contains a file list with all files that are on the remote
      site but missing here. It is just for information and you normally
      shouldn't use it for copying files.

5.) farsync.log
    - Everything what is done. Look through it, if you get a wrong behaviour.
Source: README.txt, updated 2017-01-31