Hello John,
The executive summary is that we're working on something like this with a caveat: it will only work if you do not use automatic updates.
Let's simplify a bit what's going in behind the scenes. When WP detects there's an update available it downloads the update file, puts the site to maintenance mode, extracts it on top of the current site, runs maintenance / upgrade code and then sets the site back to live mode. While the site is in maintenance mode you cannot run plugins. This means Akeeba Backup cannot run at this point. We could only do something before it downloads the update file.
The problem is that this hook only allows you to do something fast which can complete inside a single page load. Taking a backup takes a substantial amount of time and requires mulitple page loads. So the time limitation alone is not looking good for taking backups.
Further to that, WordPress may trigger the automatic update at any random point in time, even in the public frontend of your site when a visitor (or a search engine!) is browsing the site. This makes it quite risky running a backup. We had tried that approach with Joomla! with our Lazy Scheduling Plugin back in 2011 but within two years we had identified fourteen (14) failure modes which were not under our control and could not be worked around. Repeating past mistakes does not a wise man make.
I know that other plugins claim to take backups on WP update. However, what they don't tell you, is that they just take a mysqldump of your database and a tar of your site IF you are on a Linux server, IF these commands are available, IF you have enough disk space, IF you have plenty of CPU time and RAM, IF you can run PHP scripts for an unlimited amount of time without timing out, WITHOUT applying exceptions to what gets backed up. It works for small sites on at least passable hosting. But, you know, these are the kind of sites which only get modified once every few weeks or months so it'd make more sense to manually back them up after each content update instead of whenever WordPress updates itself.
The only way we could make this feature work -and which we are currently looking into- is only if you disable automatic updates. Then we can do exactly what we do with Joomla!. You, the Administrator, initiate a WordPress update. We hook to an event e.g. the download update package and redirect to Akeeba Backup. A backup is taken. Then we redirect back to the WP updater code, after setting a temporary variable which says "backup already taken for WordPress version X.Y.Z, let WP continue the update". Therefore we don't redirect again and WP finishes its update.
If you want to use automatic updates you are relinquishing control of the update timing. In this case your only defense against a broken site is frequent, automated, off-site backups. Luckily, Akeeba Backup Professional is explicitly designed to do exactly that. Make sure you are taking daily backups with the CLI script and you ought to be safe.
Nicholas K. Dionysopoulos
Lead Developer and Director
🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!