Name | Modified | Size | Downloads / 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.