update with -K?, ignore symlinks

Gaspar Bakos gbakos at cfa.harvard.edu
Sat Apr 23 01:01:42 GMT 2005


Hi,

Under RH FC3, using rsync 2.6.4,

I am trying to do rsync on the following configuration:

Local host:
==========
/main/
    dir1/
    dir2/

Remote host:
===========
/main/
    EXTRA_DIR/
    dir1 -> EXTRA_DIR/dir1/
    dir2/

What I would like to do is to update files from local host to remote
host, but ignore whatever dir is already a symlink on the remote host
(i.e. dir1).  I was trying:

rsync --one-file-system -e "ssh -l whoever" \
    --update -K --archive \
    /main/ remote_host:/main/

but rsync also tries to transfer dir1 from local to remote, although
dir1 already exists on remote with a newer timestamp, and it is a
symlink. Is there a way to turn off such a behaviour?

-------

My problem actually is more general. On "local", there are many
directories in main/, and their number is growing every day. Initially
I transfer hundreds of dirs from local to remote by --update, and then
I would like to automatically transfer (using cron, e.g.) new
directories from local to remote every day. Then and now, I archive a
_subset_ of these to tape (subset = 100Gb) on remote, and then I need
to delete them on remote. Later, when I launch
rsync --update local -> remote
again, I would not like local to send over all the directories that
have been already archived on remote to tape. So I thought, I will
leave a sign of these archived directories, such as move them to
EXTRA_DIR/, and have a symlink with new timestamp point on them. And i
assumed rsync will thus ignore all these directories during the
transfer. It seems to be awkward to create a giant --exclude-from=...
expression.

Any idea is welcome.

Best regards,
Gaspar


More information about the rsync mailing list