MacroBackerUpper 2.0 is out! Yes, a major version bump a few weeks after release. I had to do it this way, though, as there are changes in the database, as well as a new settings database. With those changes, downgrading to 1.4 from 2.0 will require a bit of work (explained below). But 2.0 is very well tested, and has tons of new features and optimizations.
Before upgrading, I recommend running 1.4 again, so you have a backup with a change report for your most-recent changes. Due to the structural changes, the first 2.0 backup will be a full (no hard links) backup, and there won't be any comparisons with the previous backup.
What's new
- Finder labels can be turned off! This was asked for by a few people, and now it's possible. Prior backups won't change, but all future ones will.
- You can change the countdown timer delay from 3 to whatever you like—anything from 1 to whatever, as long as it's an integer.
- You can control the timing feature in the report via settings, instead of editing a bit of the main macro.
- Groups that were enabled or disabled since the last backup are tracked, and the macros within them removed from further analysis, as they will always report being modified.
I fixed and improved a slew of other things, including replacing the inefficient (for me to keep updated!) Progress action calls with a task-based progress meter of sorts. You can see it in action in this demo macro.
I also added a lot more safety checking to the macro, to make sure that things are in the right spot, with the right names. In addition, all backups are first written to /tmp
and then moved into your backup folder when done. This should completely avoid an issue some users were having with the right folder not being selected. Thanks, JimmyHartington!
Click to see all the other small fixes and changes
-
Settings are now stored in an external database, which makes it much easier to have more of them, and much easier to manage them. There's also now just one global variable for the macro, the one that holds the location of the backups.
-
Replaced the impossible-to-maintain progress bars with an onscreen task list. Each task gets checked off when it's completed.
-
Fixed a typo that prevented the backup count limit from ever being enforced. Whoops.
-
Fixed Keyboard Maestro window not returning to its prior location after a backup run, I hope.
-
Now testing for backup and support folder existence on macro launch, to hopefully prevent issues before they get worse.
-
Added a loop to confirm the latest backup folder has been created and properly named before starting the backup (well, yeah, that seems logical…why didn't you do that before?!)
-
Backups are now made first to the /tmp folder, which should work for absolutely everyone, then moved using the Move action. This should completely avoid the trouble some users were having when Documents wasn't in their Finder sidebar.
-
In case the above doesn't work for everyone, added a backup check to make sure the folder is where it should be, and handle things if it's not.
-
Also added a check to make sure the global backup folder location variable exists right after it was supposedly created, just in case something really weird happens.
-
Made the Cancel button in the "update check" window actually cancel.
-
Found a better way to make sure the diff calculations don't throw Type 1 errors into the logs: The || true construct, which forces any command to exit with a status of 0, not 1.
-
Reworked the Settings Manager for more consistency and better readability.
-
Fixed the Settings Manager option for showing timing in report to default to no, which is what it does on initial setup.
-
Substantially reworked the logic and flow of the main macro, to make sure things are in place before trying a backup.
-
Fancied up the initial delay splash screen, just a bit.
-
An upgrade script runs on first run, and handles upgrading users of pre 2.x versions of MacroBackerUpper.
Upgrading from 1.x
The macro will determine if you've run 1.x before, and on initial launch of this version, it will perform the required database changes. You'll have one more chance to back out and run the old version first, in case you want a full "what's changed" report prior to upgrading.
If you want to be 100% certain you can downgrade to 1.4 if you want to, please follow the instructions in the disclosure area below. Note that I don't think this is necessary, as the upgrade process works and I've tested it literally hundreds of times. But if you want to make sure you can downgrade, just click the triangle.
Prepare in order to downgrade if desired
Do all of this before running version 2.0:
- Use a Finder label or tag to label the latest current backup with version 1.4, just so you can easily spot it.
- Copy the
rg_MBU_OtherSettings
global variable to some temp global, just in case you want to put it back (it's deleted after the upgrade). Alternatively, copy its values somewhere safe so you can recreate it if needed.
- In the
zSupport Files - Do not delete
folder in your backups folder, duplicate the zDatabase.db
file and name it zDatabase Pre Upgrade.db
, or something like that.
You can now run 2.0, and be able to downgrade if you want/need to. To do that, here's what you'd do:
- Delete the backup made under 2.0.
- Delete the
zSettings.db
file you'll find in the zSupport Files - Do not delete
folder in your backups folder.
- Delete the
zDatabase.db
file, then duplicate the backup you made, and rename the duplicate to zDatabase.db
.
- Recreate the
rg_MBU_OtherSettings
global variable.
You can now run 1.4 again as if nothing happened. If you want to try 2.0 again, I recommend just deleting the one you have installed and downloading a fresh copy.
I have done these things so many times in the course of testing that I'm confident they'll work if you need them. But I'm just as confident you won't need them, as 2.0 runs fine.
If you have any issues with this version, please let me know!
-rob.