Is -R --link-dest really hard to use, or is it me?

foner-rsync at media.mit.edu foner-rsync at media.mit.edu
Sun Apr 24 22:49:39 MDT 2011


[Yes, I am reviving a thread from 27 months ago.  Why?  Because
I gave up on the problem way back then and didn't move the vault.
Now that I'm really trying to do this, it still doesn't make any
sense... :)  Matt CC'ed directly since he was the primary respondent
and I have no idea if such an old thread would otherwise be noticed.]

So, having tried your solution 1 and solution 2 (long pause while Matt
and/or others page in their state, probably by visiting something like
http://www.mail-archive.com/rsync@lists.samba.org/msg23196.html :),
I can't make either one work.

Here's a transcript of what happens.  Clearly I'm missing something.
A, B, C are hosts; 1, 2 3 are ostensibly dates; all are representations
of a dirvish vault (e.g., extensively hardlinked --link-dest backups).

The src tree started out with all files with "foo" in their names all
hardlinked together.  Ideally, the dst tree will end up likewise.
If I rsync the entire tree at once, it works fine.  But the real
use case can't do this, because the trees are enormous and there
are dozens of them.  Note that each time, not every foo* in dst
winds up with all the same inode as the rest.

Am I just up too late?

[nsn] 21:51:34 /home/blah# rsync -aviH --stats src/ dst/
sending incremental file list
.d..t...... ./
cd+++++++++ a/
cd+++++++++ a/1/
cd+++++++++ a/2/
cd+++++++++ b/
cd+++++++++ b/1/
cd+++++++++ b/2/
cd+++++++++ c/
cd+++++++++ c/1/
cd+++++++++ c/2/
>f+++++++++ c/2/foofoofoo
hf+++++++++ c/1/foofoo => c/2/foofoofoo
hf+++++++++ b/2/b-foo2 => c/2/foofoofoo
hf+++++++++ b/1/b-foo => c/2/foofoofoo
hf+++++++++ a/2/foo => c/2/foofoofoo
hf+++++++++ a/1/foo => c/2/foofoofoo

Number of files: 16
Number of files transferred: 1
Total file size: 24 bytes
Total transferred file size: 4 bytes
Literal data: 4 bytes
Matched data: 0 bytes
File list size: 255
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 459
Total bytes received: 175

sent 459 bytes  received 175 bytes  1268.00 bytes/sec
total size is 24  speedup is 0.04
[nsn] 21:52:17 /home/blah# find . -ls
224133160    4 drwxr-xr-x   4 root     root         4096 Apr 24 21:51 .
224133161    4 drwxr-xr-x   5 root     root         4096 Apr 24 21:42 ./src
224133166    4 drwxr-xr-x   4 root     root         4096 Apr 24 21:42 ./src/b
224133168    4 drwxr-xr-x   2 root     root         4096 Apr 24 21:49 ./src/b/2
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/2/b-foo2
224133167    4 drwxr-xr-x   2 root     root         4096 Apr 24 21:49 ./src/b/1
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/1/b-foo
224133169    4 drwxr-xr-x   4 root     root         4096 Apr 24 21:42 ./src/c
224133171    4 drwxr-xr-x   2 root     root         4096 Apr 24 21:49 ./src/c/2
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/2/foofoofoo
224133170    4 drwxr-xr-x   2 root     root         4096 Apr 24 21:49 ./src/c/1
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/1/foofoo
224133163    4 drwxr-xr-x   4 root     root         4096 Apr 24 21:42 ./src/a
224133165    4 drwxr-xr-x   2 root     root         4096 Apr 24 21:44 ./src/a/2
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/2/foo
224133164    4 drwxr-xr-x   2 root     root         4096 Apr 24 21:43 ./src/a/1
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/1/foo
224133162    4 drwxr-xr-x   5 root     root         4096 Apr 24 21:42 ./dst
224133175    4 drwxr-xr-x   4 root     root         4096 Apr 24 21:42 ./dst/b
224133180    4 drwxr-xr-x   2 root     root         4096 Apr 24 21:49 ./dst/b/2
224133183    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./dst/b/2/b-foo2
224133179    4 drwxr-xr-x   2 root     root         4096 Apr 24 21:49 ./dst/b/1
224133183    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./dst/b/1/b-foo
224133176    4 drwxr-xr-x   4 root     root         4096 Apr 24 21:42 ./dst/c
224133182    4 drwxr-xr-x   2 root     root         4096 Apr 24 21:49 ./dst/c/2
224133183    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./dst/c/2/foofoofoo
224133181    4 drwxr-xr-x   2 root     root         4096 Apr 24 21:49 ./dst/c/1
224133183    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./dst/c/1/foofoo
224133174    4 drwxr-xr-x   4 root     root         4096 Apr 24 21:42 ./dst/a
224133178    4 drwxr-xr-x   2 root     root         4096 Apr 24 21:44 ./dst/a/2
224133183    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./dst/a/2/foo
224133177    4 drwxr-xr-x   2 root     root         4096 Apr 24 21:43 ./dst/a/1
224133183    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./dst/a/1/foo
[nsn] 21:52:26 /home/blah# find . -ls | grep foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/2/b-foo2
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/1/b-foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/2/foofoofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/1/foofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/2/foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/1/foo
224133183    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./dst/b/2/b-foo2
224133183    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./dst/b/1/b-foo
224133183    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./dst/c/2/foofoofoo
224133183    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./dst/c/1/foofoo
224133183    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./dst/a/2/foo
224133183    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./dst/a/1/foo
[nsn] 21:52:45 /home/blah# rm -rf dst
[nsn] 21:52:58 /home/blah# mkdir dst
[nsn] 21:53:00 /home/blah# find . -ls | grep foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/2/b-foo2
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/1/b-foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/2/foofoofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/1/foofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/2/foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/1/foo
[nsn] 21:53:03 /home/blah# mkdir dst/a
[nsn] 21:53:51 /home/blah# rsync -aviH --stats src/a/1 dst/a/
sending incremental file list
cd+++++++++ 1/
>f+++++++++ 1/foo

Number of files: 2
Number of files transferred: 1
Total file size: 4 bytes
Total transferred file size: 4 bytes
Literal data: 4 bytes
Matched data: 0 bytes
File list size: 35
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 99
Total bytes received: 35

sent 99 bytes  received 35 bytes  268.00 bytes/sec
total size is 4  speedup is 0.03
[nsn] 21:54:00 /home/blah# find . -ls | grep foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/2/b-foo2
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/1/b-foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/2/foofoofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/1/foofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/2/foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/1/foo
224133176    4 -rw-r--r--   1 root     root            4 Apr 24 21:43 ./dst/a/1/foo
[nsn] 21:54:05 /home/blah# mkdir dst/b
[nsn] 21:54:50 /home/blah# rsync -aviH --stats --link-dest dst/a/1 src/b/1 dst/b/
sending incremental file list
--link-dest arg does not exist: dst/a/1
cd+++++++++ 1/
>f+++++++++ 1/b-foo

Number of files: 2
Number of files transferred: 1
Total file size: 4 bytes
Total transferred file size: 4 bytes
Literal data: 4 bytes
Matched data: 0 bytes
File list size: 41
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 105
Total bytes received: 35

sent 105 bytes  received 35 bytes  280.00 bytes/sec
total size is 4  speedup is 0.03
[nsn] 21:54:54 /home/blah# find . -ls | grep foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/2/b-foo2
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/1/b-foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/2/foofoofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/1/foofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/2/foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/1/foo
224133179    4 -rw-r--r--   1 root     root            4 Apr 24 21:43 ./dst/b/1/b-foo
224133176    4 -rw-r--r--   1 root     root            4 Apr 24 21:43 ./dst/a/1/foo
[nsn] 21:55:16 /home/blah# rm dst/b/1/b-foo 
[nsn] 21:55:42 /home/blah# rsync -aviH --stats --link-dest /home/blah/dst/a/1 src/b/1 dst/b/
sending incremental file list
.d..t...... 1/
>f+++++++++ 1/b-foo

Number of files: 2
Number of files transferred: 1
Total file size: 4 bytes
Total transferred file size: 4 bytes
Literal data: 4 bytes
Matched data: 0 bytes
File list size: 41
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 105
Total bytes received: 35

sent 105 bytes  received 35 bytes  280.00 bytes/sec
total size is 4  speedup is 0.03
[nsn] 21:56:00 /home/blah# find . -ls | grep foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/2/b-foo2
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/1/b-foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/2/foofoofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/1/foofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/2/foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/1/foo
224133179    4 -rw-r--r--   1 root     root            4 Apr 24 21:43 ./dst/b/1/b-foo
224133176    4 -rw-r--r--   1 root     root            4 Apr 24 21:43 ./dst/a/1/foo
[nsn] 21:56:06 /home/blah# rm dst/b/1/b-foo 
[nsn] 21:56:17 /home/blah# rsync -aviH --stats --link-dest /home/blah/dst/a/1 /home/blah/src/b/1 /home/blah/dst/b/
sending incremental file list
.d..t...... 1/
>f+++++++++ 1/b-foo

Number of files: 2
Number of files transferred: 1
Total file size: 4 bytes
Total transferred file size: 4 bytes
Literal data: 4 bytes
Matched data: 0 bytes
File list size: 41
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 105
Total bytes received: 35

sent 105 bytes  received 35 bytes  280.00 bytes/sec
total size is 4  speedup is 0.03
[nsn] 21:58:18 /home/blah# find . -ls | grep foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/2/b-foo2
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/1/b-foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/2/foofoofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/1/foofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/2/foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/1/foo
224133179    4 -rw-r--r--   1 root     root            4 Apr 24 21:43 ./dst/b/1/b-foo
224133176    4 -rw-r--r--   1 root     root            4 Apr 24 21:43 ./dst/a/1/foo
[nsn] 21:58:21 /home/blah# rm dst/b/1/b-foo 
[nsn] 21:58:56 /home/blah# rsync -aviH --stats --link-dest /home/blah/dst/a/1 /home/blah/src/b/1/ /home/blah/dst/b/1/
sending incremental file list
.d..t...... ./
>f+++++++++ b-foo

Number of files: 2
Number of files transferred: 1
Total file size: 4 bytes
Total transferred file size: 4 bytes
Literal data: 4 bytes
Matched data: 0 bytes
File list size: 36
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 95
Total bytes received: 34

sent 95 bytes  received 34 bytes  258.00 bytes/sec
total size is 4  speedup is 0.03
[nsn] 21:59:08 /home/blah# find . -ls | grep foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/2/b-foo2
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/1/b-foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/2/foofoofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/1/foofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/2/foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/1/foo
224133179    4 -rw-r--r--   1 root     root            4 Apr 24 21:43 ./dst/b/1/b-foo
224133176    4 -rw-r--r--   1 root     root            4 Apr 24 21:43 ./dst/a/1/foo
[nsn] 21:59:13 /home/blah# rm dst/b/1/b-foo 
[nsn] 22:19:22 /home/blah# rsync -aviH --stats src/ dst/
sending incremental file list
.d..t...... ./
.d..t...... a/
cd+++++++++ a/2/
hf+++++++++ a/2/foo => a/1/foo
.d..t...... b/
.d..t...... b/1/
hf+++++++++ b/1/b-foo => a/1/foo
cd+++++++++ b/2/
hf+++++++++ b/2/b-foo2 => a/1/foo
cd+++++++++ c/
cd+++++++++ c/1/
hf+++++++++ c/1/foofoo => a/1/foo
cd+++++++++ c/2/
hf+++++++++ c/2/foofoofoo => a/1/foo

Number of files: 16
Number of files transferred: 0
Total file size: 24 bytes
Total transferred file size: 0 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 255
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 359
Total bytes received: 103

sent 359 bytes  received 103 bytes  924.00 bytes/sec
total size is 24  speedup is 0.05
[nsn] 22:19:42 /home/blah# find . -ls | grep foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/2/b-foo2
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/1/b-foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/2/foofoofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/1/foofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/2/foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/1/foo
224133176    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./dst/b/2/b-foo2
224133176    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./dst/b/1/b-foo
224133176    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./dst/c/2/foofoofoo
224133176    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./dst/c/1/foofoo
224133176    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./dst/a/2/foo
224133176    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./dst/a/1/foo
[nsn] 22:19:46 /home/blah# la dst/*/2/*foo*
-rw-r--r-- 6 root root 4 Apr 24 21:43 dst/a/2/foo
-rw-r--r-- 6 root root 4 Apr 24 21:43 dst/b/2/b-foo2
-rw-r--r-- 6 root root 4 Apr 24 21:43 dst/c/2/foofoofoo
[nsn] 22:20:05 /home/blah# rm dst/*/2/*foo*
[nsn] 22:20:14 /home/blah# find . -ls | grep foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/2/b-foo2
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/1/b-foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/2/foofoofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/1/foofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/2/foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/1/foo
224133176    4 -rw-r--r--   3 root     root            4 Apr 24 21:43 ./dst/b/1/b-foo
224133176    4 -rw-r--r--   3 root     root            4 Apr 24 21:43 ./dst/c/1/foofoo
224133176    4 -rw-r--r--   3 root     root            4 Apr 24 21:43 ./dst/a/1/foo
[nsn] 22:20:17 /home/blah# rsync -aviH --stats --link-dest /home/blah/dst/a/1 /home/blah/src/a/2/ /home/blah/dst/a/2/
sending incremental file list
.d..t...... ./

Number of files: 2
Number of files transferred: 0
Total file size: 4 bytes
Total transferred file size: 0 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 34
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 46
Total bytes received: 15

sent 46 bytes  received 15 bytes  122.00 bytes/sec
total size is 4  speedup is 0.07
[nsn] 22:38:54 /home/blah# find . -ls | grep foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/2/b-foo2
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/1/b-foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/2/foofoofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/1/foofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/2/foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/1/foo
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/b/1/b-foo
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/c/1/foofoo
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/a/2/foo
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/a/1/foo
[nsn] 22:39:17 /home/blah# rsync -aviH --stats --link-dest /home/blah/dst/a/1 --link-dest /home/blah/dst/a/2 /home/blah/src/b/2/ /home/blah/dst/b/2/
sending incremental file list
.d..t...... ./
>f+++++++++ b-foo2

Number of files: 2
Number of files transferred: 1
Total file size: 4 bytes
Total transferred file size: 4 bytes
Literal data: 4 bytes
Matched data: 0 bytes
File list size: 37
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 96
Total bytes received: 34

sent 96 bytes  received 34 bytes  260.00 bytes/sec
total size is 4  speedup is 0.03
[nsn] 22:49:27 /home/blah# find . -ls | grep foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/2/b-foo2
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/1/b-foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/2/foofoofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/1/foofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/2/foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/1/foo
224133184    4 -rw-r--r--   1 root     root            4 Apr 24 21:43 ./dst/b/2/b-foo2
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/b/1/b-foo
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/c/1/foofoo
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/a/2/foo
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/a/1/foo
[nsn] 22:49:31 /home/blah# rm dst/b/2/b-foo2 
[nsn] 23:03:32 /home/blah# rsync -aviH --stats --link-dest /home/blah/dst/a/1 --link-dest /home/blah/dst/a/2 /home/blah/src/b/1/ --link-dest /home/blah/dst/a/2 /home/blah/src/b/2/ /home/blah/dst/b/2/
sending incremental file list
.d..t...... ./
>f+++++++++ b-foo2
hf+++++++++ b-foo => b-foo2

Number of files: 4
Number of files transferred: 1
Total file size: 8 bytes
Total transferred file size: 4 bytes
Literal data: 4 bytes
Matched data: 0 bytes
File list size: 60
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 133
Total bytes received: 48

sent 133 bytes  received 48 bytes  362.00 bytes/sec
total size is 8  speedup is 0.04
[nsn] 23:04:25 /home/blah# find . -ls | grep foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/2/b-foo2
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/1/b-foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/2/foofoofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/1/foofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/2/foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/1/foo
224133184    4 -rw-r--r--   2 root     root            4 Apr 24 21:43 ./dst/b/2/b-foo
224133184    4 -rw-r--r--   2 root     root            4 Apr 24 21:43 ./dst/b/2/b-foo2
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/b/1/b-foo
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/c/1/foofoo
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/a/2/foo
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/a/1/foo
[nsn] 23:04:30 /home/blah# rm dst/b/2/b-foo dst/b/2/b-foo2 
[nsn] 23:30:26 /home/blah# find . -ls | grep foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/2/b-foo2
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/1/b-foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/2/foofoofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/1/foofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/2/foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/1/foo
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/b/1/b-foo
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/c/1/foofoo
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/a/2/foo
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/a/1/foo
[nsn] 23:30:27 /home/blah# rsync -aviH --stats --link-dest /home/blah/dst/a/1 --link-dest /home/blah/dst/a/2 --link-dest /home/blah/src/b/1/ /home/blah/src/b/2 /home/blah/dst/b/2
sending incremental file list
cd+++++++++ 2/
>f+++++++++ 2/b-foo2

Number of files: 2
Number of files transferred: 1
Total file size: 4 bytes
Total transferred file size: 4 bytes
Literal data: 4 bytes
Matched data: 0 bytes
File list size: 42
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 106
Total bytes received: 35

sent 106 bytes  received 35 bytes  282.00 bytes/sec
total size is 4  speedup is 0.03
[nsn] 23:31:56 /home/blah# find . -ls | grep foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/2/b-foo2
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/1/b-foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/2/foofoofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/1/foofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/2/foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/1/foo
224133185    4 -rw-r--r--   1 root     root            4 Apr 24 21:43 ./dst/b/2/2/b-foo2
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/b/1/b-foo
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/c/1/foofoo
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/a/2/foo
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/a/1/foo
[nsn] 23:31:59 /home/blah# rsync -aviH --stats --link-dest /home/blah/dst/a/1 --link-dest /home/blah/dst/a/2 --link-dest /home/blah/dst/b/1/ /home/blah/src/b/2 /home/blah/dst/b/2
sending incremental file list

Number of files: 2
Number of files transferred: 0
Total file size: 4 bytes
Total transferred file size: 0 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 42
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 56
Total bytes received: 13

sent 56 bytes  received 13 bytes  138.00 bytes/sec
total size is 4  speedup is 0.06
[nsn] 23:41:11 /home/blah# rm dst/b/2/2/b-foo2 
[nsn] 23:41:25 /home/blah# rmdir dst/b/2/2
[nsn] 23:41:28 /home/blah# find . -ls | grep foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/2/b-foo2
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/1/b-foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/2/foofoofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/1/foofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/2/foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/1/foo
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/b/1/b-foo
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/c/1/foofoo
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/a/2/foo
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/a/1/foo
[nsn] 23:41:32 /home/blah# rsync -aviH --stats --link-dest /home/blah/dst/a/1 --link-dest /home/blah/dst/a/2 --link-dest /home/blah/dst/b/1/ /home/blah/src/b/2/ /home/blah/dst/b/2
sending incremental file list
.d..t...... ./
>f+++++++++ b-foo2

Number of files: 2
Number of files transferred: 1
Total file size: 4 bytes
Total transferred file size: 4 bytes
Literal data: 4 bytes
Matched data: 0 bytes
File list size: 37
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 96
Total bytes received: 34

sent 96 bytes  received 34 bytes  260.00 bytes/sec
total size is 4  speedup is 0.03
[nsn] 00:15:41 /home/blah# find . -ls | grep foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/2/b-foo2
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/1/b-foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/2/foofoofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/1/foofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/2/foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/1/foo
224133184    4 -rw-r--r--   1 root     root            4 Apr 24 21:43 ./dst/b/2/b-foo2
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/b/1/b-foo
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/c/1/foofoo
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/a/2/foo
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/a/1/foo
[nsn] 00:15:45 /home/blah# rm dst/b/2/b-foo2 
[nsn] 00:15:50 /home/blah# find . -ls | grep foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/2/b-foo2
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/1/b-foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/2/foofoofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/1/foofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/2/foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/1/foo
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/b/1/b-foo
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/c/1/foofoo
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/a/2/foo
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/a/1/foo
[nsn] 00:16:34 /home/blah# mkdir linkdest
[nsn] 00:20:39 /home/blah# cd linkdest
[nsn] 00:20:42 /home/blah/linkdest# mkdir b c
[nsn] 00:20:45 /home/blah/linkdest# cd b
[nsn] 00:20:45 /home/blah/linkdest/b# lk 2 /home/blah/dst/a/1
[nsn] 00:20:58 /home/blah/linkdest/b# cd ../c
[nsn] 00:21:02 /home/blah/linkdest/c# lk 2 /home/blah/dst/a/1
[nsn] 00:21:03 /home/blah/linkdest/c# cd ..
[nsn] 00:21:05 /home/blah/linkdest# find . -ls
224133184    4 drwxr-xr-x   4 root     root         4096 Apr 25 00:20 .
224133185    4 drwxr-xr-x   2 root     root         4096 Apr 25 00:20 ./b
224133187    0 lrwxrwxrwx   1 root     root           39 Apr 25 00:20 ./b/2 -> /home/blah/dst/a/1
224133186    4 drwxr-xr-x   2 root     root         4096 Apr 25 00:21 ./c
224133188    0 lrwxrwxrwx   1 root     root           39 Apr 25 00:21 ./c/2 -> /home/blah/dst/a/1
[nsn] 00:21:07 /home/blah/linkdest# cd ..
[nsn] 00:21:17 /home/blah# find . -ls | grep foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/2/b-foo2
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/1/b-foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/2/foofoofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/1/foofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/2/foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/1/foo
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/b/1/b-foo
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/c/1/foofoo
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/a/2/foo
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/a/1/foo
[nsn] 00:21:25 /home/blah# rsync -aviH --stats --link-dest /home/blah/linkdest /home/blah/src/b/2/ /home/blah/dst/b/2
sending incremental file list
.d..t...... ./
>f+++++++++ b-foo2

Number of files: 2
Number of files transferred: 1
Total file size: 4 bytes
Total transferred file size: 4 bytes
Literal data: 4 bytes
Matched data: 0 bytes
File list size: 37
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 96
Total bytes received: 34

sent 96 bytes  received 34 bytes  260.00 bytes/sec
total size is 4  speedup is 0.03
[nsn] 00:22:07 /home/blah# find . -ls | grep foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/2/b-foo2
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/b/1/b-foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/2/foofoofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/c/1/foofoo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/2/foo
224133172    4 -rw-r--r--   6 root     root            4 Apr 24 21:43 ./src/a/1/foo
224133189    4 -rw-r--r--   1 root     root            4 Apr 24 21:43 ./dst/b/2/b-foo2
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/b/1/b-foo
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/c/1/foofoo
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/a/2/foo
224133176    4 -rw-r--r--   4 root     root            4 Apr 24 21:43 ./dst/a/1/foo
[nsn] 00:22:10 /home/blah# rsync --version
rsync  version 3.0.7  protocol version 30
Copyright (C) 1996-2009 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
    64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
    socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
    append, ACLs, xattrs, iconv, symtimes

rsync comes with ABSOLUTELY NO WARRANTY.  This is free software, and you
are welcome to redistribute it under certain conditions.  See the GNU
General Public Licence for details.
[nsn] 00:28:08 /home/blah# 


More information about the rsync mailing list