I'm trying to copy a bunch of files (around 50000) from an include-file list. THe include-file has relative path to the files on the source folder. I'm using the following command :
rsync -avPilHAXWE \ --include="*/" \ --include-from=/tmp/mover-include.list \ --exclude="*" \ --prune-empty-dirs \ --remove-source-files \ /mnt/source/ /mnt/dest/ The include file has multiple files that are hard linked, for example in the file :
dir1/dir2/dir3/filea .... .... dir1/dir5/fileb rsync correctly copies filea, but when arriving to fileb, it doesn't copy it (so I think he still considered it a hardlink, but neither did it recreate the hardlinks. So filea end ups alone on /mnt/dest, with no hard links, and fileb ends up alone on /mnt/source/ with no hardlinks.
This shouldn't change anything, but my dest folder is on a fusefs merging multiple disks
Anybody have an idea on how to solve this? Thanks
--include="*/" --include-from=/tmp/mover-include.listthat seems contradictory?-Rsolve that elegantly?rsyncbugs are really far from zero, but in this case my bet is the old adage that "software does exactly what it's told to; that's what makes it so harmful" applies: It simply seems fileb simply does not get included for some reason. So, simplifying yourrsynccommand line to isolate exactly what leads to that file not being included is not only an exercise in elegance, it's a necessity to be able to reproduce or understand the problem, and in the end, solve it :)