I have two external HDDs for photo library storage (Volume A) and its backup (Volume B). On volume A, there are multiple Aperture libraries (.migratedaplibrary) and Photos library (.photoslibrary), where the latter are migrated libraries from Aperture to Photos. That's why the Aperture libraries have the extension .migratedaplibrary.

Due to this migration, individual Photos libraries and their original Aperture libraries share hard links on Volume A. Therefore, the total file size is not doubled.

Question: How do I make a backup copy of Volume A on Volume B without making the file size doubled on Volume B? Copying the libraries on Finder looks to duplicate the hard link files.

I would also like to update the backup every week so that I can backup the difference between the two volumes.

Please note that use of Time Machine is not my option, because it often fails updating backups and I had to recreate the Time Machine backup (> 8 TB) again and again in last few years.

  • serverfault.com/questions/1045709/… might help
    – nohillside
    Jan 29, 2022 at 9:59
  • You didn’t ask, but when Time Machine fails me, I often throw two drives as targets. That way you can have multiple backups that cover different time spans. When one goes “read only” you can put it on the shelf and buy a new drive for the new “second” destination.
    – bmike
    Feb 2, 2022 at 12:10

2 Answers 2


The apple system restore asr program is the tool for this as it does block operations and not file copies. It’s a command line tool that gets called when you use disk utility to clone a volume.

If you prefer graphical tools that may sync faster or have nice scheduling, check out SuperDuper and Carbon Copy Cloner. Both are phenomenal value and long time reliable products with excellent support.

Until such time as you can store things without links, these tools may not be as fast as Time Machine is in incremental backups of a flat file system without extensive links. All three options work very well in cases like yours where Time Machine struggles.


rsync can do incremental copies and preserve hard links in the copy

man rsync says

-H, --hard-links This tells rsync to look for hard-linked files in the transfer and link together the corresponding files on the receiving side. Without this option, hard-linked files in the transfer are treated as though they were separate files.

Note that rsync can only detect hard links if both parts of the link are in the list of files being sent.

I think the command is (I have not tested)

rsync -az -H --delete  /path/to/source /path/to/dest 

The --delete removes files in the destination that are not now in the source - you might not necessarily need that.

You can always add --dry-run option in the command line to show what will happen without running the copy also --verbose to show more details.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .