NAME
synctree - synchronize directory trees.
SYNOPSIS
synctree [-iuf] [[user1@]machine1:]dir1 [[user2@]machine2:]dir2
DESCRIPTION
Synctree synchronizes the directory tree rooted at dir2 with
dir1. It walks recursively through both trees, and deletes
and adds files in dir2 to make it equal to dir1. Mode, owner
and group are set for each file unless the -u flag is given.
In its normal mode of operation, synctree will ask if it may
delete or add directories assuming that you don't want to.
Non-directories are simply deleted or added, but synctree
will ask if it needs to update a normal file with a default
answer of 'y'. Simply typing return will choose the default
answer, typing end-of-file is like typing return to this
question and all other questions.
You can specify a hostname and user-id to be used to access
dir1 or dir2. Synctree will use rsh(1) to run a copy of
itself on the remote machine. The call interface mimics
that of rcp(1), but you can use more than one user@machine
prefix if you want to make things really interesting.
Hard links are enforced, an update is done by first deleting
the old file so that links to unknown files are broken.
Links to files within dir2 will be restored.
If either directory contains the file .backup, then this
file will be used as an alternate inode table. This allows
one to make a backup copy of a file tree full of special
files and differing user-ids on a remote machine under an
unpriviledged user-id.
OPTIONS
-i Ask for permission (with default answer 'n') to delete
or add any file or directory.
-u Only install newer files, i.e. merge the directory
trees.
-f Don't ask, think 'yes' on any question.
SEE ALSO
remsync(1), cpdir(1), rsh(1), rcp(1), perror(3).
DIAGNOSTICS
Messages may come from three different processes. One named
"Slave" running in dir1, one named "Master" running in dir2,
and synctree itself in a mediator role. The mediator will
also perform the task of either the master or the slave if
one of them is running locally. You need to know this to
interpret the error messages coming from one of these
processes. The messages are normally based on perror(3).
Failure to contact a remote machine will be reported by rsh.
Synctree should have a zero exit status if no errors have
been encountered.
BUGS
Directory dir2 will be created without asking.
The master and slave processes get their error output mixed
up sometimes (nice puzzle).
The local and remote machine must use the same file type
encoding.
The link replacement strategy may lead to lack of space on a
small device. Let synctree run to completion and then rerun
it to pick up the pieces.
Letting the local process keep its "synctree" name may be a
mistake.
It talks too much.
AUTHOR
Kees J. Bot, (kjb@cs.vu.nl)