On Sun, 19 Jan 2025 at 02:51, Default User <hunguponcont...@gmail.com> wrote:
> I may just delete everything on DRIVE2 overnight, and then try rsync > with: > > time sudo rsync -aHSxvvv --human-readable --delete --numeric-ids -- > info=progress2,stats2,name2 -- > exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media > /*","/lost+found"} /media/user/DRIVE1/ /media/user/DRIVE2/ ; date Hi, a few quick suggestions: Working with entire disks before you have figured out which options to use is a big waste of time. I would create a small test tree of dummy files and directories, and use that tree to to test how rsync behaves with different options, when copying that tree from one topdirectory to another. You could use a file tree comparison tool to check for differences. I would use something like: rsync -haxv -HAXSW --exclude=relative/thisfile ... --exclude=relative/thatfile --delete-excluded --delete /here/ /there Note that my destination /there does NOT have a trailing separator (/), this makes a difference to rsync, as you will observe if you test it on a small test tree. That command works for me from LUKS to LUKS and gives similar drive sizes, although I do not have a lot of hardlinks. Also, your use of --exclude looks completely wrong to me. I do not see anything in 'man rsync' (version 3.2.7) that agrees with your use of brace characters {}. In fact the manpage says: "--exclude options take one rule/pattern each", as I have shown above, which is not what you have. The manual also says: "If you are having trouble debugging filter patterns, then try specifying the -vv option. At this level of verbosity rsync will show why each individual file is included or excluded." Which is another reason why it will be better to work with a small test tree, so that you can read that output for each file.