MacInTouch Amazon link...

system synchronization

Channels
Other, Questions

Ric Ford

MacInTouch
That's great if they both run the same OS X/macOS1.. If not... moving your complete "working environment" back and forth between them is... well, if anyone has a good way to cleanly and completely swap back and forth between a newer macOS and an older one while preserving all work and changes you've made on the incompatible system, I'd sure love to know about it.2.
I've had more problems with Apple apps changing formats than with MS Office, Nisus, Firefox, or most of the other third-party apps I use. A few months back I had to transfer Pages files between a High Sierra MacBook Air and an El Cap Mac Mini, and found I had to translate them into a different form. After that, I put Nisus on the MacBook Air, so I didn't have to mess around with Pages at all. My usage isn't typical, and as Ric says, this is going to get a lot worse with macOS 10.15.
OK, I'm looking to develop a very robust workflow for coordinating two Macs, such that either one can be used at different times and places (e.g. a desktop and a laptop system), both are kept up to date, and neither one gets back-leveled by the changes.

This seems nightmarish with two different macOS versions involved (and related differences in apps, preferences and file formats), but it's a challenge to get right even when both Macs are capable of booting and running the same software. I'm looking for feedback/suggestions based on proven workflows other folks have developed (but I'm not interested in basing any of this on Apple's cloud services, nor Dropbox, nor any other cloud system).

As a starting point, I see a few possibilities:
  • Synchronize Pro X (old but good and maybe still viable)
  • ChronoSync (respected but may be complicated)
  • Carbon Copy Cloner (great software, but how exactly do you avoid screwing up and back-levelling accidentally?)
  • Could it possibly be done via a shared Time Machine backup drive?
  • Rsync?
  • Reslio Sync doesn't seem like it's quite right for the job.
What do other folks do? Good ideas welcome!
 


I have been using ChronoSync for a couple of years now to keep my TV shows and movies hard drives in sync with their backups (so that I don’t have to copy the entire hard drive), and it works remarkably well. It’s much faster than a "Smart Copy" with SuperDuper and has been 100% reliable.
 


OK, I'm looking to develop a very robust workflow for coordinating two Macs, such that either one can be used at different times and places (e.g. a desktop and a laptop system), both are kept up to date, and neither one gets back-leveled by the changes....
You might try Tri-Backup, it has a 2-way folder sync option that would work for, say, your Documents folder or any other folder that only has content, just not any system or library folders.
 


Not sure this is exactly what you had in mind but one way to do this is with Dropbox or similar. Set up the two machines with the same applications, save all the files in Dropbox. That way you have to update / add apps separately on the two machines but this isn't a lot of work. The files are automatically synch'd so you can pick up on one machine where you left off on the other. I actually do this with one Mac and one PC and it works fine
 


OK, I'm looking to develop a very robust workflow for coordinating two Macs, such that either one can be used at different times and places (e.g. a desktop and a laptop system), both are kept up to date, and neither one gets back-leveled by the changes.
This seems nightmarish with two different macOS versions involved (and related differences in apps, preferences and file formats), but it's a challenge to get right even when both Macs are capable of booting and running the same software. I'm looking for feedback/suggestions based on proven workflows other folks have developed (but I'm not interested in basing any of this on Apple's cloud services, nor Dropbox, nor any other cloud system).
I'm not sure exactly what you're trying to accomplish here. At some points it sounds like you just want to synchronize a few documents between computers, and at others, it sounds like you want an exact replica of your entire working environment. Maybe you can provide some concrete examples of what you're trying to do. Do you want a video file you're editing on one computer at work to appear on another computer so you can continue your edits at home? Do you want your calendar to be accessible and sync'd on the two different computers? Do you want an application installed on one computer to automatically appear on another computer?

There are a range of options available ranging from desktop virtualization to simple folder synchronization.
Reslio Sync doesn't seem like it's quite right for the job.
If all you want is folder/document synchronization, why wouldn't this work? It's essentially like Dropbox, except that it's purely peer-to-peer with no centralized cloud server (fulfilling one of your criteria).
 


Ric Ford

MacInTouch
I'm not sure exactly what you're trying to accomplish here. At some points it sounds like you just want to synchronize a few documents between computers, and at others, it sounds like you want an exact replica of your entire working environment.
Sorry I wasn't clear. The concept is to completely replicate a working system, with all apps, preferences and documents - i.e. a system clone. However, instead of only being a one-way clone, I'm trying to figure out how to clone both ways, retaining all changes, no matter which system is used to make those changes.

In other words, total two-way system synchronization between Macs that can run the same macOS.

Perhaps the most straightforward way to do it is just using something like Carbon Copy Cloner, somehow ensuring that nothing gets back-leveled when switching directions. (CCC SafetyNet offers extra insurance, but using it to recover from sync errors would be a manual process.)

Synchronize Pro X might do the trick, but that's an app that's languished a long time.

Maybe ChronoSync is the answer.
Econ Technologies said:
Clone Your Hard Drive
ChronoSync can create two types of bootable backup: standard and mirror. A standard bootable backup copies your entire system volume and makes sure it can be booted from the destination device. It will not interfere with additional information on the destination volume. So, for example, if you wanted to keep some additional documents in a special folder on that volume, they would remain intact after the backup.
I just thought someone here might have already figured out a good workflow for this (e.g. someone travelling frequently with a laptop and syncing to a desktop machine back at home). I'm concerned about various traps, such as boot cache, other caches, and things I haven't thought of.

(There's another whole level beyond, that I haven't addressed here, which is two-way sync between Macs with different OS versions/apps/prefs. This seems impossible, but perhaps there's a way to do that, too. And I hadn't thought much about virtualization and all its complexity, but maybe it has a key role here.)
 


OK, I'm looking to develop a very robust workflow for coordinating two Macs, such that either one can be used at different times and places (e.g. a desktop and a laptop system), both are kept up to date, and neither one gets back-leveled by the changes.
Back in the day when I was using Macs exclusively, I used the program Syncovery every day to make an incremental backup of relevant data files from my Mac at work to an external hard drive. Took the little hard drive home, plugged it into my personal system, and used Syncovery to transfer data from the drive to home. Reversed the process to send files back to work if I made changes at home.. Worked well, even on USB 2 with spinning rust. Became a lot better with USB 3 and tiny portable SSD.

What Syncovery didn't do well was handle Mac packages, e.g. Quicken QDFM and sparsebundles. I speculate that's because the structure of those is based on an internal index that differs from file name/size/date/time info used by Syncovery, Rsync, and equivalents.

I never tried that approach with iPhoto, Aperture, iTunes, any files generated by Apple's program, like TextEdit, that do "versions," or on data programs stored in obfuscated "Library" folders (e.g., the now nearly forgotten Bento database). From what little I know about FileMaker's control of storage, if I were using that program, I'd want to research how its data functions with Rsync.

Advantage of process: I always had at least two backups.

You could skip daily intermediate sync steps by simply using an encrypted external SSD for your data. But you would want a reliable way to back that drive up.

Because we're still using Quicken 2007, we store its QDFM package files in a regular not-sparsebundle DMG. We open directly from the DMG, save into the DMG, and because the DMG is created with a complex password stored in everyone's keychain, we can with some confidence pass that DMG through public cloud services (we use GDrive) from which it can be retrieved, contents edited, then unmounted and stored back in GDrive. I wrote an very simple Automator script that tabs the current date on the DMG so any of us who need to access it will know which version is current, and it still boots from the password in keychain.
 


Ric Ford

MacInTouch
... You could skip daily intermediate sync steps by simply using an encrypted external SSD for your data....
Thanks for the post; it kind of woke me up to another, simple approach that I'd neglected for fairly trivial reasons: Just boot off an external drive (SSD) that becomes the master system.

Instead of that, I was thinking about directly synchronizing the two computers' internal drives without any intermediary.

This is all probably just silly confusion on my part. The following seem like simple solutions when both Macs can run the same OS:

1) Just clone the current working system to the other system each time you switch. (You can't work on both systems at the same time - it's one being used and the other shut down. You have to clone each time you switch before starting work on the other system and powering down the previous one.)

2) Use an external drive (SSD) as the master system. (You can clone this external master to the internal drives, which then function as backup clones.)

3) Adding an extra drive for redundancy: At each switch, backup the previous system to an external clone, then restore the other system from that clone for use.

The goal here is simply to have two systems in sync without having to worry about which files (scattered among more than a million files and folders in the system) are newer, older, missing, or the same.
 


I can think of a few options here, all of which have issues, but some might be acceptable, depending on your requirements.

One is as others described: boot from an external drive. So, you transport the whole system with you wherever you go. Works great as long as every computer you boot is compatible with the version of the OS on that external drive.

Another way is to create your user accounts so your home directory is on the portable external drive, so your documents transport everywhere. You still need to install your apps in all locations, but you probably won't need to do that as often. I'm not sure what happens if you try to log in when the drive is disconnected - I assume it will either reject the login or the system will misbehave, because your home directory doesn't exist.

Another way is to use a network volume for your home directory. Same issues as using a portable drive, but you don't have to carry the drive around. But if you want access from remote sites, then you're going to have to deal with the security and performance issues that result from accessing the volume from across the Internet.

Another way is to use some kind of file-sync app to bidirectionally synchronize your home directory between two or more computers. If you have more than two computers, then you will probably want to keep one master copy (maybe on a network volume) and have everybody sync to that. You can use many different remote storage systems (including iCloud, Dropbox and others) for this, if you're so inclined.

Syncing your home directory may create problems if your app versions get out of sync, however. For instance, older versions of an app (Firefox, MS Office, etc.) may crash or otherwise misbehave if they encounter newer versions of preference files. Apple's apps (iTunes, iWork, etc.) seem to be particularly sensitive to this sort of thing. There's also a concern that some system apps might also fall into this category, which you could only resolve by ensuring that all systems are updated to the same version of macOS.

You might be able to avoid some of this if you don't synchronize your Library folder (/Library, ~/Library, etc.), but then application preferences aren't going to sync. And it still won't help for applications that store their data elsewhere (e.g. iTunes).
 


Use an external drive (SSD) as the master system. (You can clone this external master to the internal drives, which then function as backup clones
Thought I had put this in the post, but maybe I edited it back out:

Among our Macs at work: three that are one. There's the original and two clones of it. The original boots from an internal SSD, the two clones from externals.

I set the original up on macOS Sierra when it went "final" at v. 10.12.6, then cloned it. They all have Little Snitch, which is running under a multi-system license. That's the only software on the set that requires a DRM-type license. (NeoOffice is not from the Mac Store, and Quicken 2007 is licensed but blocked by Little Snitch from phoning home.)

True, over the months these systems have been set up, they may have diverged slightly. There's no way to be sure absolutely no variance enters. They're connected to different quality monitors, one to two monitors, the others to one each. But I can take the external clone boot drive from either of the two clones, carry that drive home, and boot it on one of my Mac laptops.
 


Ric Ford

MacInTouch
But I can take the external clone boot drive from either of the two clones, carry that drive home, and boot it on one of my Mac laptops.
And I'm going to guess that people can't do that with Windows systems.... (Can Linux do it?)
 


Ric Ford

MacInTouch
... Syncing your home directory may create problems if your app versions get out of sync, however. For instance, older versions of an app (Firefox, MS Office, etc.) may crash or otherwise misbehave if they encounter newer versions of preference files. Apple's apps (iTunes, iWork, etc.) seem to be particularly sensitive to this sort of thing. There's also a concern that some system apps might also fall into this category, which you could only resolve by ensuring that all systems are updated to the same version of macOS.
You might be able to avoid some of this if you don't synchronize your Library folder (/Library, ~/Library, etc.), but then application preferences aren't going to sync. And it still won't help for applications that store their data elsewhere (e.g. iTunes).
This is actually a big issue with the simpler approaches. Let's take the recent Firefox critical security updates, for example. You want those installed immediately, but only one system will be updated initially, so those app updates and any associated file format/preference changes need to be sync'd back to the other system.

When we're talking about urgent macOS security updates, it really highlights the issue. This is why I'm not interested in document-only sync, but rather full-system sync, because critical changes will be scattered anywhere at any time among the million+ files in the system, including apps, documents, settings, libraries, etc., etc.
 


Ric Ford

MacInTouch
... There's another whole level beyond, that I haven't addressed here, which is two-way sync between Macs with different OS versions/apps/prefs. This seems impossible, but perhaps there's a way to do that, too....
Not a solution, but a first step: I've been thinking of this approach to identifying differences between one macOS version and another:
  1. Clone the older macOS system onto a clean drive - let's call it TestDrive.
  2. Boot from TestDrive and clone it, in turn, onto another clean drive, using Carbon Copy Cloner with SafetyNet enabled. Let's call this CCCtarget.
  3. Disconnect CCCtarget, and still booted from TestDrive, upgrade to the next macOS (e.g. install macOS Mojave over macOS Sierra).
  4. Shutdown and reboot from your original drive with both TestDrive and CCCtarget connected. Clone TestDrive (now upgraded to a new macOS) to CCCtarget again, using CCC with SafetyNet enabled.
After completion, SafetyNet on CCCtarget should show all the files changed by the system upgrade.

You could then do other upgrades (e.g. Apple app upgrades for the new macOS, then third-party upgrades for the new OS) and repeat the cloning step to see what's changed each time. (Obviously, you need a target drive large enough to hold all the versions of files being changed.)
 


And I'm going to guess that people can't do that with Windows systems.... (Can Linux do it?)
Unfortunately, with the May release of Windows 10, Microsoft announced that it had stopped developing its "Windows to Go" technology, which seems like it would have been pretty straightforward to adapt to your use case. Microsoft's decision is no doubt a disappointment to enterprise users who found it to be a convenient tool for traveling/field staff. While it was only available for the Enterprise and Education editions of Windows, there are third party recipes for creating similar environments using other editions of Windows. Interestingly, Windows to Go specifically ignores T2 chips to function, and it ignores internal drives to avoid potential file saving/security issues.

Likewise, my guess is that it wouldn't be too difficult to create a reasonable, portable, easily clonable Linux Live drive to accomplish the same for a known set of machines. That's not to say it wouldn't require some tweaking if the hardware profiles are very different, but I don't see a reason why creating a periodically cloned live drive that undergoes frequent user directory syncing would be particularly difficult.

Again, the presence of T2 chips may complicate matters substantially. As an aside, using a single drive to boot multiple Mac models was not a problem until fairly recently. If I recall correctly, from the early days of OS X, the default installation of a retail version of OS X generally would include drivers for all supported hardware, regardless of the machine upon which it was installed. I personally booted desktops from drives that had been in laptops on multiple occasions. You'd generally only run into problems trying to boot a machine that was newer than the retail version and that required a special build. Just another example of how our machines are getting to be more difficult to manage and maintain in the name of security.

Of course, none of this addresses the issue of commercial software licenses which might be tied to specific systems.
 


I can take the external clone boot drive from either of the two clones, carry that drive home, and boot it on one of my Mac laptops.
And I'm going to guess that people can't do that with Windows systems.... (Can Linux do it?)
The bootable "clone" drive is one of the best benefits of Macs. Though if you have Mac software that relies on DRM / license codes, creating fresh clones can be burdensome.

In my years with Windows, though, I had learned a lot about it and didn't fear to dive into the Registry and edit it. I'm pretty sure it is the Registry that undermines bootable clones, as we know them on Macs. That, and Windows was pretty insistent on booting from C:

Clonezilla will make a bootable clone drive for Linux. The one time I tried it, Clonezilla created an exact duplicate, including the UUID for the original drive. When I plugged the new clone in to USB to test, and set USB boot in BIOS, there was no joy. The system "knew" it had duplicate UUID drives and wouldn't boot the USB drive. Researched that for some hours, and just gave up.

One major difference in Linux vs. both Windows and Mac arises from the lack of (much) proprietary and paid software. It is possible for a "muggle" user like me to keep several Linux systems congruent, and reliably transfer data among them using a variety of free applications, e.g., Déjà Dup or LuckyBackup.

It's also possible (so I've read but never tried) to create a "LiveUSB" Linux install that has "persistence," meaning configuration changes and data are saved.
 


Just boot off an external drive (SSD) that becomes the master system.
To save myself some effort I'll simply point you to an earlier post of mine. In the time since posting it, we've had no issues. It just works.

Using two machines configured with different versions of the operating system and applications makes the problem orders of magnitude more difficult, and is likely way more trouble than having to replace one of the current machines (if needs be), so that you have two that can run the identical software.
 



... I have a setup using Dropbox that's been working fine for about 2 years... with a few caveats. I have my main "master" laptop that I use daily and multiple other "slave" laptops I use for travel and other things.

Here's what I did.

Set up the "master".​
1. Boot from an external HD... anything will do.​
2. Move my ~/Desktop, Documents, iBooks, and Music folders into my Dropbox folder.​
3. Create a symlink from the Dropbox folders back to the user folder. I'm not sure about now, but in the past, aliases didn't work, but symlinks did, e.g.:​
ln -s ~/Dropbox/Desktop ~/
Here's where it gets a bit dicey... repeat steps 2 & 3 only for certain ~/Library folders... in my case, the only folder I chose to sync was my Firefox folder.
4. Boot up the master and let Dropbox finish syncing everything.​
5. Clone the master to the slaves.​

Other notes and caveats...

I don't use the Apple Mail app except for backups... and then I only run it on the master computer... I rely strictly on webmail.

Sharing iTunes this way can be wobbly... I only manage media and playlists, ratings, etc. on my "main" computer. I only use iTunes on my other computers for playback.

I rely on iCloud to sync my address book and Safari bookmarks. I rely on Chrome's own syncing mechanism to sync my Chrome settings.

I set my "slave" computers to turn on for an hour every night so their Dropboxes are always sync'd.

your milage may vary
 


And I'm going to guess that people can't do that with Windows systems.... (Can Linux do it?)
Windows: You used to be able to. But ever since Windows XP and system activation, the answer is: "in theory, yes, but in practice, no". Because booting that hard drive on a different computer will cause Windows to detect a different computer, resulting in re-activation requiring a new license. And, of course, if the hardware isn't identical, each time will produce a whole lot of device driver auto-installation, which can yield a corrupt/crashing system if anything goes wrong.

Linux: Absolutely, yes, but you might have to do a bit of work to get it all working as you expect.

For instance, you will need to be careful with how you configure the bootloader (GRUB) in order to deal with the possibility of storage devices having different names when booting on different computers (or even if a different USB port is used), but assuming you do (e.g. referencing volumes by label or GUID), it should work fine.

If the two computers require different kernels, then you might need to set up a boot menu to select the right one, but these days every computer is probably going to use the same x86_64 kernel. Device drivers will mostly be common, and if they're not, most drivers are designed to gracefully exit (probably with a log message) if the matching hardware is not found, so you just install the superset of everything you need, and the system will probably do the right think when you boot on different computers.

The GUI might have an issue if you have different GPUs on the computers. Most of the time, the XOrg software will auto-detect your hardware and load the right driver, so you may be fine if you just install a superset of all the drivers you might need.

If XOrg can't/won't auto-detect the video driver, then you can create a separate config file for each computer. Configure the system to boot to a text console (instead of a GUI login) and use a per-computer shell script to launch XOrg with the correct config file. If you want to get really tricky, you might be able to store the XOrg config file on the computer's local storage and have your boot drive symlink to it, in order to automate the process.
 


Ric Ford

MacInTouch
Windows: You used to be able to. But ...
Linux: Absolutely, yes, but ...
I have to say all this stuff sure makes one appreciate the Mac, or at least Macs a few years back. (Apple's new T2 system creates a whole lot of new problems, e.g. not being able to boot Linux at all, and macOS 10.15 Catalina's iPhone-style Activation Lock is yet another step down that road.)
 



I have to say all this stuff sure makes one appreciate the Mac, or at least Macs a few years back.
Apple has done a very good job of designing a system such that you don't have to know what's going on under the covers - at a cost of making it very hard to figure out what is going on under the covers and even harder to change any of that behavior, should you have a need to do so.

Linux, on the other hand, makes it very easy to figure out what's going on and make changes, but in many situations, you require this knowledge in order to perform tasks that are routine on other systems. Modern distributions have improved the situation greatly over the last 20 years, but there are still plenty of situations (e.g. trying to make a bootable system that can be transported between computers) where you need some arcane knowledge.

And Windows gives you the worst of both worlds: hard to configure and hard to figure out what's going on under the covers.

By the way, if you're not interested in converting an existing system into a live-drive, there are many web sites that provide instructions on how to perform a clean installation to a USB drive. The procedure isn't obvious to a novice, but it should work if you just follow the instructions. Here's one example:
TecMint said:
 


Sorry I wasn't clear. The concept is to completely replicate a working system, with all apps, preferences and documents - i.e. a system clone. However, instead of only being a one-way clone, I'm trying to figure out how to clone both ways, retaining all changes, no matter which system is used to make those changes.
I've just started playing with Chronosync (non-Express) and am pretty sure this will do what you want.

Of course, so will Carbon Copy Cloner.

However, note that most licensed software you have (Microsoft Office, Parallels, Adobe products, etc.) will see these systems as two separate computers, and complain accordingly. I've run into this issue moving my working environment between a Hackintosh and my 2013 Mac Pro.

In some cases, such as Office, you merely need to log in to your associated account. Others, like Parallels, will pretty much force you to buy another license. And that's an issue if you use one of the above utilities to move your environment wholesale, since you'll be moving the associated licensing/account information as well.

I haven't come up with a comprehensive, one-click solution to the issue. My current scheme uses Chronosync to move a selected subset of folders (~/Documents, ~/Library/Mail, ~/Pictures, etc.) between the systems.
 


Ric Ford

MacInTouch
I haven't come up with a comprehensive, one-click solution to the issue. My current scheme uses Chronosync to move a selected subset of folders (~/Documents, ~/Library/Mail, ~/Pictures, etc.) between the systems.
What about /Library/Preferences and ~/Library/Preferences?

As far as license codes go, I wasn't thinking of problems (not having Adobe CC or MS Office) but then realized it might be an issue for Capture One Pro (though the $299 license covers three computers in total).
 


Ric Ford

MacInTouch
This note arrived via anonymous email:
Concerning your search for a sync solution to to keep two machines in sync and equally usable, this sounds like it might be a perfect use case for a "portable" virtual machine.

With the same virtualization software on each machine and an external drive containing the virtual machine, you should be able to move back and forth with no notice. With the virtual machine given the maximum number of cores and RAM possible on whichever real machine is the most constrained, you probably wouldn't see much of a performance problem (unless you are doing something graphics-intensive).

Also, a virtual machine should allow you to snapshot and return to previous sessions or even save the current state and shut down the virtual machine and move to the other real machine and resume exactly as you were on the other machine.
 


What happens when you lose Internet access?
I guess, depending on your workflow, it might be a mild inconvenience or be a dealbreaker...

Sometimes when I'm traveling with my "slave/backup" laptop, I'll turn off Dropbox syncing. So when I get back, I have to give it, and the "master" laptop, time to finish syncing before I can get back to work on my master laptop.

I've read some more of this thread, and, FWIW, my experience has been that it's too difficult to sync everything (settings, apps, etc.) instead of just your main documents. It seems more reliable to maintain them separately... which can be a pain sometimes.

Also, like other people have mentioned, MS Office licenses, etc. can cause problems... even when I do something like a pure clone using CCC.
 


OK, I'm looking to develop a very robust workflow for coordinating two Macs, such that either one can be used at different times and places (e.g. a desktop and a laptop system), both are kept up to date, and neither one gets back-leveled by the changes.
I can imagine two obstacles to this plan that may make you change your goal:

1) Apple syncs various documents over iCloud. Simplest way to address this is disable that, but if you need that function, I expect a headache will be encountered.​
2) Unless you are exceptionally, reliably, diligent with your syncing, there will be instances where both machines update the same file without either syncing to the other - easy example: system log files. But if there are some files you don't mind being out of sync, then defining that boundary becomes its own headache.​

The only way I can see to easily achieve your goal given the above is to always boot from and store your data on a portable, external, disk, and the internal disks on both machines are used for backup/recovery purposes - assuming the shared OS is always usable on both machines.

Catalina's OS isolation will likely help you here.
 


Ric Ford

MacInTouch
Unless you are exceptionally, reliably, diligent with your syncing, there will be instances where both machines update the same file without either syncing to the other - easy example: system log files.
Excellent example - thanks!
 


Concerning your search for a sync solution to to keep two machines in sync and equally usable, this sounds like it might be a perfect use case for a "portable" virtual machine.
This may be the best approach, because that machine will be completely unchanged, regardless of the computer that hosts it.

You would then have each computer run its favorite OS and the appropriate VM package. Or (if you want to get really fancy), you could have your external drive boot directly into a hypervisor (e.g. a free license for VMWare vSphere), which in turn launches your VM. But that may replace one support nightmare with another, especially since you plan on running macOS in that VM.

I've also seen solutions where you set up one computer running on a cloud server (e.g. an Amazon EC2 instance hosting that VM). You then use standard remote access tools to access it. The upside is that it's always available and you can expand its capabilities with some simple reconfiguration. The downside is that it can get pretty expensive if you leave that machine running 24x7. (To be fair, the only time I've seen this done is for temporary systems that are used for a few weeks and then deleted, as a cheaper alternative to buying or renting new computers.)
 


What about /Library/Preferences and ~/Library/Preferences?
Right now, I'm not synching those, but you see the problem: if you copy everything wholesale, there are problems (such as Parallels thinking I've moved my installation to another computer, since I've copied over wherever it keeps its licensing info... surprisingly, many companies are not forthcoming about where such info is stored!).

If you try to pick and choose, you may not copy something you want to have copied.

I'm refining what I copy with Chronosync as issues arise. I think I'll iterate to a pretty reliable configuration in a month or three.
 


Ric Ford

MacInTouch
Another comment via email:
I just wanted to point out that you can in fact make bootable clones in Windows. I do this daily in Windows using an app called Casper which even updates the clones in a smart way like Carbon Copy Cloner and SuperDuper do. That is, the whole clone does not have to be recreated each time; only the changes made to the volume since the last clone need to be synced. Cloning SSD to SSD only takes a few minutes depending on how much data has changed, and it’s a cinch to boot into a clone if you ever need to. Just enter the EFI (which, on Macs, is essentially what you’re doing when you hold down option at startup) and choose your boot disk there. It doesn’t have to be the C drive.
 


Ric Ford

MacInTouch
Some more issues and thoughts about two-Mac sync, as I try to work through some of the problems and experiments. (I just cloned a MacBook Pro to an iMac 5K):
  • Yes, license keys are an issue (e.g. Capture One, Little Snitch, mdmd, others), and some of these involve Apple ID authentication, as well.
  • After a clone, Spotlight may go nuts, demanding tons of resources and ramping up the computer's fans. (Malwarebytes may also contributes to the load.)
  • Thunderbolt 3 is a nice thing to have when using an external master/boot drive for multiple Macs, as it's almost as fast as an internal drive. (Of course, this is problematic if one of the computers lacks Thunderbolt 3.)
  • Carbon Copy Cloner has this "Advanced" option: "Don't update newer files on the destination."
  • SuperDuper has a "sandbox" option for sharing data files (and/or apps) between two different macOS systems, but I haven't worked out whether this could be helpful, e.g. for creating two different systems that share a common, external data drive. (Is anyone doing this?)
  • Bluetooth pairing can be a pain (vs. using simple wired USB devices or built-in keyboards... if they work).
  • Depending on all the details of how you configure your system (e.g. how messy your Desktop is), switching screen resolutions (e.g. between a 5K iMac screen and any Mac laptop screen) can be a real pain.
 


One question: do you really do equal work from both computers or do you mainly use a "desktop" computer and then less frequently use the "laptop" computer to do some minimal work while mobile? If the latter is the case (like me), I am controlling my "desktop" computer remotely. I have done this two ways: TeamViewer is one - simple setup, but in the past I have had it freeze up on me, and that required someone to reboot the "desktop." The other is OpenVPN and Apple's Screen Sharing. (I have a PFSense router at home and Tunnelblick on the mobile computer.) This method has been rock solid.

The caveat of remote log-in in both instances is that it's just not as elegant as working natively on the mobile computer. There is lag, and the two methods for dealing with screen resolution differences are cumbersome. However, this remote method does work well enough, given the limited tasks I am doing. As for documents I do need to deal with, I simply save them in Dropbox.

Are there real-world examples of two-way sync for entire computers? I know there are some application servers that do this - FileMaker, for example - and they do that with time locks and the like, but on a whole computer level? I think there has to be one "main" and one "slave." I guess if you are the only user, you could manually (or later script) an Rsync. But if it failed or you forgot to do it, you could get quickly out of sync and lose information as well.

Booting off an external SSD is a great solution, basically taking the computer with you.
 


Ric Ford

MacInTouch
Here are some Chronosync guides for various sync and backup scenarios with tips about what to sync and what not to sync:
Econ Technologies said:
Synchronize. Backup. Bootable Backup.
ChronoSync is the complete data management utility for macOS that allows you to efficiently synchronize or backup files and folders from one disk location to another. Before you start using ChronoSync, however, you must decide whether to perform a synchronization or backup operation. The answer may indeed be both, depending upon your circumstances. This guide explains the difference between these two operations and helps get you started using ChronoSync.

... You generally don't want to synchronize "System" or "Library" files that exist outside of your home folder because these files are specific to your computer and can actually cause problems when transferred to another computer. You also typically don't want to synchronize applications because they should be installed and updated from an installer or software update mechanism such as the Mac App Store. Instead, you should only synchronize files that exist within your home folder. You should also be aware that even inside your home folder there are certain sets of files known as managed data that you need to be careful with. Managed data are files in your home folder that are structured into databases such as your Contacts, e-mail, iTunes library, Photos and Bookmarks.
 


SuperDuper has a "sandbox" option for sharing data files (and/or apps) between two different macOS systems, but I haven't worked out whether this could be helpful, e.g. for creating two different systems that share a common, external data drive. (Is anyone doing this?)
I did this once and have lived with the results since. It's been a while, but I reviewed the documentation in order to check my descriptions here. Forgive me if I'm mistaken about anything.

Basically, a sandbox backup backs up most of a disk, but symlinks User directories (and apps if you choose) [to refer from] the destination [back] to the source disk. The idea is that the system stuff in the [destination] "sandbox" can be restored, but your user documents and settings keep their changes.

Details can be found in the SuperDuper-specific scripts located in
~/Library/Application Support/SuperDuper!/Copy Scripts/Standard Scripts

In particular, look at the scripts 'Share Users.dset' and 'Copy applications, sharing non-Apple.dset', as well as those that start with "Sandbox" (which call the two mentioned here). They are XML (plain text) files and the information in them is usable only by SuperDuper, but they're fairly easy to understand.

A SuperDuper sandbox probably is not a good way to move between OS versions on a regular basis. I used it to put my OS on an SSD and User directories on a spinning disk and ran for years in this configuration. In a recent move from OS X 10.8 to macOS 10.12, the setup was helpful. I symlinked the same User directories on the new OS partition (keeping the old as well) and encountered few, if any, problems.

I had the occasion to boot from OS X 10.8 after the upgrade, to run a program or two unavailable or unrunnable under macOS 10.12 (not to do any testing of this ability). The only vagary I noticed was the Siri icon in the Dock showed up as a question-mark, because there is no Siri on OS X 10.8. But I kept my time in OS X 10.8 to a minimum, just in case.
 


Ric Ford

MacInTouch
Some more issues and thoughts about two-Mac sync, as I try to work through some of the problems and experiments. (I just cloned a MacBook Pro to an iMac 5K):
  • Yes, license keys are an issue (e.g. Capture One, Little Snitch, mdmd, others), and some of these involve Apple ID authentication, as well...
I tried using a clean macOS install, Migration Assistant, and a Time Machine backup, hoping that some of the issues involving in using a CCC clone would be better. Nope. I think starting with a clone is easier (and certainly a lot faster). License key issues seem equally challenging in both scenarios, at least for my software/configuration.

I'm starting to think that Chronosync may be the best way to coordinate two Mac systems (though I haven't started working with it yet), and it's probably essential if the two Macs are to run different macOS versions (and apps).
 


Has anyone mentioned BitTorrent Sync [Resilio Sync]? I've used it successfully to sync folders between a cheese grater Mac Pro and a MacBook Pro.
 


I’ve been using ChronoSync for several years in a variety of ways. One scenario is to sync two hard disks of TV shows back and forth between them, syncing in both directions. The ChronoSync interface easily allowed me to set this up, as it is graphically showing what you are trying to do.

There is excellent support, as they clearly and quickly answered any questions that I had. I’ve been very happy with this app.
 


License key issues seem equally challenging in both scenarios, at least for my software/configuration.
For a clone between two systems, that's going to be one of the biggest challenges.
I'm starting to think that Chronosync may be the best way to coordinate two Mac systems (though I haven't started working with it yet), and it's probably essential if the two Macs are to run different macOS versions (and apps).
I used to do just that for years. I used my desktop while at home and my laptop while traveling. I kept both systems nearly identical using Chronosync.

Applications and their preferences... how often do those actually change? ... Maybe add a few minutes if you make multiple changes to the preferences. It might even be a benefit to have different prefs on each device, due to slighly different machine configurations (mouse vs. trackpad, different location for app's cache file, etc.)

It's really the documents you want to sync. It's also a pretty good chance you only need to sync a subset of the total documents on the system.

In my opinion, it comes down to having a good filing system. Personal files in one place, work files in another. Files sorted by client/project. Older files that don't need to be synced in a separate place. I then set up a scheduled sync to keep those folders the same.

It's even easier to keep things in sync today with all the cloud options. My travel device is an iPad these days. What I need to access goes into iCloud or Dropbox. Chronosync is still regularly used for backups and to keep my NAS in sync with my local drives.

FWIW, Chronosync does have a ton of options but doesn't need to be complicated. You can set up a simple sync and not need to get involved with all the options.
 


Ric Ford

MacInTouch
The following seem like simple solutions when both Macs can run the same OS...
As others noted, this doesn't really work, due to problems with license keys, system-specific parameters (e.g. Computer Name) and identifiers, and much more.
The goal here is simply to have two systems in sync without having to worry about which files (scattered among more than a million files and folders in the system) are newer, older, missing, or the same.
This may actually be impossible, given the intermingling and overlapping and complexity of connections among the many hundreds of thousands of files involved.

Econ Technologies (ChronoSync) notes the problem:
Econ Technologies said:
How to Sync The Home Folder Between Macs Using ChronoSync
... Today, that question has a complicated answer. This guide, and the linked guides, offer a multi-part answer to the above question and demonstrate best-practices when keeping a home folder in sync between two Macs....

How to Sync Desktop, Documents, Public, or Downloads between Macs
...
BACKUP
Before running any sync for the first time, make sure to backup all data on each Mac in the event something goes wrong. Since home-to-home files syncs are usually bi-directional syncs (syncing files both directions), this is especially important. When running any sync, ChronoSync can archive any changed or deleted files, but it is a lot easier to restore files from a backup rather than restoring from the ChronoSync archive. ChronoSync, Time Machine, or any other backup application can be used to perform the backup of each Mac.​

IDENTICAL VERSIONS OF macOS
Home folder syncs must only be done between identical versions of macOS. For example, do not attempt to sync between Sierra and High Sierra, and avoid syncing between different versions of the same OS (10.13.1 vs 10.13.2).​

Ensure all apps such as Photos, iTunes and Calendar are the same version, as well.​

SYSTEM FILES AND APPLICATIONS
Never attempt to sync files outside of the home folder such as 'Applications', 'System', or 'Library' between two Macs. Problems can arise if Applications or System files are synced that can easily result in application failure or a corrupt OS. In syncing two Macs, the focus needs to be on the home folder and the data files stored therein....​
The ChronoSync user manual has more details, including the suggestion of creating multiple smaller tasks that you then combine into a larger sync operation.
ChronoSync User Manual [PDF]
...
Option #2: Create separate synchronizer tasks for each folder you wish to synchronize. This is a great solution if you want to synchronize some folders but not other folders. For example, instead of creating one synchronizer task for your Home folder, perhaps you want to create three: one for “Documents”, another for “Pictures” and a third for “Music.” Each task can be synchronized separately.
Option #3: Add multiple tasks to a single task container and then synchronize them all as one. For instance, if you created three tasks for your “Documents”, “Pictures” and “Music” folders, you could add them to a single task container so all three behave as one.

Option #4: You can permanently exclude any file or folder by selecting it from the Analyze panel and choosing the “Exclude” command. The exclusion will be saved with the synchronizer task and the excluded file/folder will be skipped every time a synchronization is performed. When a folder is excluded, all the files and folders contained within it are likewise excluded. For example, if you wanted to synchronize your entire Home folder but did not want to synchronize your “Library” folder, you could select your Home folders as one of the targets and then exclude your “Library” folder from the Analyze panel.
(As mentioned before, it can be quite enlightening to review a Carbon Copy Cloner "Safety Net" folder to see what changes/differences there are between systems and to get clues about what Apple is doing behind the scenes.)
 


Amazon disclaimer:
As an Amazon Associate I earn from qualifying purchases.

Latest posts