KM Syncing Best Practices?

Since this post, I developed an approach that has been effective and robust. Please refer to this thread: One Approach to Synchronize All Macros Between Multiple Macs

I use Keyboard Maestro on three macs:

  • Monterey, v12.2/MacBookPro16,1
  • Mojave 10.14.16/Macmini6,2
  • High Sierra 10.13.6/iMac11,1445

To date I've been syncing my macros using an iCloud folder. Unfortunately I've had mixed results.

At times when using KM on one of the mac, macros will revert to old versions and the newest macros will be missing. When I encounter this issue, File>Revert Macros>Before Last Sync sometimes restores my work, but not always. This has occurred often enough that I now routinely export my most recently modified macros before leaving my macs.

I'm interested in hearing how others are managing sync? I have Dropbox, Google Drive, and OneDrive available now but would consider some other cloud platform if it was rock-solid.

EDIT: Removing this question. One would have to sync (Dropbox-wise) locally because KM must be able to navigate to the file.
For those using Dropbox, do you keep the KM sync file exclusively in the cloud or do you sync (Dropbox-wise) that file to the macOS file system?

Thanks in advance for any insight that might be shared here!

I've been syncing Keyboard Maestro with Dropbox for (I don't know how many years but a very long time). I've very rarely had any issues and when I have it's user error - not waiting for a sync to complete maybe. And when I have had an issue the recovery is simple (see below).

I've always just used the Keyboard Maestro Preferences to turn syncing on and pointed it at the Dropbox folder I want to save to. No clever setups and I have several Macs in different locations as well as my MacBook.

Dropbox has 2 good features (which I don't think are in iCloud).

  1. If there is any doubt what file should be the correct one it makes a safety copy. It calls it something with "conflicted copy" in the name. So you always have the option to simply rename the file to make it the current version. While the files have "conflicted copy" in the name Keyboard Maestro just ignores them so, they can happily sit there doing no harm.

  2. Dropbox (for me at least since I pay them) it has versions. I don't think the free Dropbox has this. But Dropbox versions have saved me from disasters.
    (EDIT - Dropbox keeps a version of every changed file so, it is possible to restore to a previous version. How long it stores the versions for is down to what kind of package you pay for - but it is at least a month. I double-checked yesterday and iCloud does not store versions.)

iCloud syncing was never as good as Dropbox in the early days (which is why I stuck with Dropbox). But now (for inbuilt Apps like Photos, Calendar, Notes, Contacts, Shortcuts, text expansion) iCloud seems very solid. I've just never switched over to using it for Keyboard Maestro.

3 Likes

I used Dropbox for around a decade until switching to iCloud for "better integration" around two years ago. What a debacle that turned out to be.

I have since completely given up on iCloud Drive for syncing files since it has been a nightmare ever since I started using it. On average it would completely stop working every 6 months and I would have to sign out of iCloud on all my devices and set it up again.

This last time it broke down it stopped syncing anything at all and no longer allows me to turn on Desktop and Documents syncing. That was in November and I've been going back and forth with Apple's Engineering Department ever since December and they still can't figure out why it doesn’t work.

I switched back to Dropbox around that same and have had zero sync issues. So maybe try Dropbox because while I am what you could call an Apple fanboy, I realize that not all of their products/services are very good, and indeed in the case of iCloud Drive it's a steaming pile of dog vomit.

/rant

TL:DR: I hate iCloud Drive :laughing:

-Chris

5 Likes

@Zabobon and @cdthomer, thank you very much for sharing your Keyboard Maestro syncing experience with Dropbox. I've since switched from iCloud to Dropbox and thus far the syncing seems to be more reliable.

I have a friend who is a big Dropbox user on macOS and he strongly recommended that I use Maestral, an open source third-party Dropbox client. So I did, on all three of my macs, and I must say, I'm impressed with the simplicity.

2 Likes

Glad to share my thoughts!

I’ve been curious about Maestral but haven’t really looked into it before now. For you what are the advantages to using it over the official Dropbox app?

1 Like

It's probably dangerous to go with my opinion here as I have only tiptoed into the Dropbox world. Almost all I have is secondhand from my friend. He told me that the latest Dropbox client has become bloated with features; whereas Maestral has a nice simple and clean design.

I installed it a few days ago. The process was simple and I do like the way everything is organized in a macOS menubar menu.

1 Like

Haha I love the obligatory 'I don't really know what I'm talking about' disclaimer; I use it myself quite often. :laughing:

One thing I do like about Dropbox that I haven't been able to find if Maestral has is the context menu items when you right click on a file. For instance right clicking on a file gives me quite a few options, some of which I use fairly frequently. Does Maestral have this?


peg)

Sorry @cdthomer for the delayed reply.

Trust me, I’m really ignorant here!

If the native Dropbox client is working well for you, seems like there would be no reason to change.

But if you are curious about Maestral, you might find this post by @Joel_Rendall interesting: Macros for Maestral (Lightweight Dropbox Client) - Macro Library - Keyboard Maestro Discourse

I come here because my icloud sync got issue in today.

I finished using my first floor mbp at 16: 10. i made some changes in KM. i can see km syncing file in icloud folder uploading was finished. the modification date of the syncing file is updated to 16: 10. everything as usual.

Then i went to second floor to use my imac. i finished usibg my imac at 18: 10. i made some changes in KM. i can see km syncing file in icloud folder uploading was finished. the modification date of the syncing file is updated to 18: 10. everything as usual.

then i went to USE mbp. I can't see the new kmmacro i just made on imac. the syncing file has updated to 18: 10, everything looks fine. but KM refusing showing what i did on my iMac.

I went back to my imac, after startup, the KM is at state of 16: 10.
But the modification date of syncing file in iCloud folder still 18: 10. nothing wrong.
i don't know why the KM go back to 16: 10.

Hi @Yu_Cai. Since my post above, I’ve changed strategies to disable KM syncing (during normal operation).

It didn’t occur often, but when using iCloud (or Dropbox) there were enough times that I lost work (see OP) that the risk of syncing outweighed the advantages (for me).

My network connection is fast and reliable, thus I have no idea why I’ve seen these issues. Clearly many others routinely sync without any issues.

Here’s the conservative approach I now use:

  • My goal is to have the same macros on my iMac and MBPro. These two computers have the same version of KM, but different versions of macOS.
  • If I modify or create a new macro on one computer and am done with the changes, I’ll export the macros from that computer.
  • On the other computer I import new macros. For macro updates, I’ll delete the old version before importing the exported version. This is to maintain consistent macro ID’s on the two computers.

If I change many macros on one computer that makes the above too tedious, I’ll use KM syncing temporarily:

  • From the source computer, I start syncing creating a new sync file.
  • From the target computer, I enable syncing using the newly created sync file. I wait a few seconds for the macro library macros to be replaced by the macros in the sync file.
  • I then disable syncing on both computers.
1 Like

I built a macro sometime back to duplicate my sync file anytime either of my machines sleeps. I have tweaked it considerably since then to essentially keep every duplicate created in the last 7 days, (filed in directories with a date stamp, and then another macro deletes any files and directories created more than 7 days prior) that way in the rare occasion where I have issues I have multiple files I can use to restore my library back to where it was without having to rely on Keyboard Maestro's built in Revert Macros feature nor Dropbox's Version History feature.

If you're interested in seeing these macros let me know and i'll send them to you.

1 Like

very detailed solution, that's also my plan for now. Sort all macros by modification date, so i know which macros are new to export. Then upload these exported to cloud drive or save them in a USB-disk. then import them into new machine.
thanks

if you are happy with that, i think you can make a post in Macro Library to share your macro in this forum. I am very interested in how you achieve this multiple-version-backup-function.
even though i don't use this macro, it must have a lot of KM knowledge in it.
thanks.

Yes I'm aware of posting in the macro library. :wink: This isn't a macro set I would want to share publicly at this point however. But I can certainly send you a copy of them so you can check them out.
Let me add some comments in them to explain what does what and i'll send them to you in a PM later this week. :+1:t2:

1 Like

Hi cdthomer, could you share your solution with me as well?

Hi, @KBMUser. Since this thread, I developed an approach that has been very effective and robust. Please refer to this thread:

One Approach to Synchronize All Macros Between Multiple Macs

1 Like

I need a very small number of macros on a second mac or for use by a second user. I do NOT want everything to go across.

I can tag all the macro group titles/names with say :sparkle: a special character/emojii.

Is there any way to sync or export a set of macro groups with :sparkle:?

Is it possible to create a smart group that has something like group::sparkle:

Yes, just use Emoji & Symbols to enter it in the name field of your Groups, then add it to the Smart Group's search field:

image

Select a Smart Group like the one above, use File -> Export.