You can’t make me

This post started off as a simple update to my previous post. But as I delved into the problem that I was seeing with Arq Backup, I went further down the rabbit hole until I decided it warranted its own post.

While keeping an eye on my changes to my monitor scripts to support parallel execution of backups and validation, I noticed that Arq went off the rails and took over 11 hours to scan 302 GB, which it normally does in a few minutes. Why? I have no idea. There was nothing in the logs.

Continue reading “You can’t make me”

The case of the missing API

I’m old enough to remember the “good ‘ol days” when an OS X app was AppleScriptable, including having triggers. While AppleScript is far from being my favourite language, it does some things very well and hey, something is better than nothing. Due to the notorious iTunes and it’s partner in crime, iCloud Match, I’ve needed AppleScript to fix up major problems in the iTunes database. It was a lifesaver.

Some apps, especially cloud apps, will provide an API you can use to execute functions and receive event notifications. Then there are the apps that simply call a shell script but don’t accept much control in return. Finally, there are apps that are closed, isolated, and give you the finger if you try to control them.

In the last year, I’ve had to expend a lot of time on Arq Backup due to some serious bugs and design deficiencies. I’ve written a complex hodgepodge of Python scripts, Hazel triggers, and a PHP script to give me a web interface into Arq’s status so I can watch it like a hawk. I wish I could set and forget, but Arq requires a lot of babysitting. It’s a complex interface because Arq doesn’t have an API. It will call pre and post-backup shell scripts, but there are major problems with its design.

Continue reading “The case of the missing API”