Confused as to why rsync thinks time, owner and group of many files differ
Andy Smith
andy at strugglers.net
Thu Feb 3 22:04:48 UTC 2022
Hi,
I am at the moment using rsync to move quite a big set of backups
from one machine to another. The source filesystem is xfs; the
target filesystem is btrfs.
For various reasons I have been stopping the rsync part way through
and re-starting. I have noticed that a large number of files are
transferred over and over and I can't work out why.
Example:
sudo rsync -iPva \
--inplace \
--numeric-ids \
--delete \
/data/backup/rsnapshot/daily.0/cacti/ \
root at koff:/data/backup/rsnapshot/daily.0/cacti/
...
<f..t.og... var/www/index.html
5,258 100% 5.78kB/s 0:00:00 (xfr#1276, to-chk=1/43437)
If I run the rsync command again, thousands of lines of output will
appear again, all showing itemized changes for 't' and sometimes
'p', 'o' and 'g'. Notably, var/www/index.html will keep appearing in
the list.
Let's have a look at that file.
Source:
$ stat /data/backup/rsnapshot/daily.0/cacti/var/www/index.html
File: /data/backup/rsnapshot/daily.0/cacti/var/www/index.html
Size: 5258 Blocks: 16 IO Block: 4096 regular file
Device: fd05h/64773d Inode: 354337 Links: 37
Access: (0644/-rw-r--r--) Uid: ( 33/www-data) Gid: ( 33/www-data)
Access: 2022-02-03 04:53:12.115719681 +0000
Modify: 2006-07-14 16:42:37.000000000 +0000
Change: 2022-01-01 17:31:28.553758359 +0000
Birth: -
Destination:
$ stat /data/backup/rsnapshot/daily.0/cacti/var/www/index.html
File: /data/backup/rsnapshot/daily.0/cacti/var/www/index.html
Size: 5258 Blocks: 16 IO Block: 4096 regular file
Device: 26h/38d Inode: 7534065 Links: 26
Access: (0644/-rw-r--r--) Uid: ( 33/www-data) Gid: ( 33/www-data)
Access: 2022-01-25 20:40:09.930960486 +0000
Modify: 2006-07-14 16:42:37.000000000 +0000
Change: 2022-02-03 21:45:44.194559899 +0000
Birth: 2022-01-25 20:40:09.930960486 +0000
When rsync considers times as being different, it means mtime,
right? Yet these files have identical mtimes. They also have
identical uid, gid and permissions.
I would not expect this and other files like it to keep being
listed for change over and over again. I can tell by the summary
that the actual contents of the files weren't sent, so at least it
didn't try to send all the data again. But even if rsync did
consider these files to have different mtime/uid/gid, should it not
have written that and be happy at next run?
rsync versions:
Source:
$ rsync --version
rsync version 3.1.2 protocol version 31
Copyright (C) 1996-2015 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, prealloc
Destination:
$ rsync --version
rsync version 3.2.3 protocol version 31
Copyright (C) 1996-2020 by Andrew Tridgell, Wayne Davison, and others.
Web site: https://rsync.samba.org/
Capabilities:
64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
socketpairs, hardlinks, hardlink-specials, symlinks, IPv6, atimes,
batchfiles, inplace, append, ACLs, xattrs, optional protect-args, iconv,
symtimes, prealloc, stop-at, no crtimes
Optimizations:
SIMD, asm, openssl-crypto
Checksum list:
xxh128 xxh3 xxh64 (xxhash) md5 md4 none
Compress list:
zstd lz4 zlibx zlib none
What am I missing?
Thanks,
Andy
More information about the rsync
mailing list