Didn't I just explain to you how Akeeba Backup works? You probably didn't get it, so we're going to do a little experiment here. We'll kill a backup and do an autopsy! I hope you like CSI as much as I do ;)
Here is the experiment:
- Start a backup
- Midway through the backup cancel it by closing your browser
- DO NOT VISIT ANY OTHER AKEEBA BACKUP PAGE!!! This is very important. You'll see why.
- Wait 60 seconds (this is to make sure that the backup is dead beyond any possible recovery)
- Open phpMyAdmin
- Check the latest entry in the jos_ak_stats table (the latest entry is the one with the highest id; jos_ is to be replaced with your site's table name prefix).
- See the "status" column. Do you see what it reads? It reads "run" which is what the Administer Backup Files page reports as "Pending".
- Visit Akeeba Backup's Control Panel page by clicking on Components, Akeeba Backup.
- Reload phpMyAdmin, look again at the latest entry of the jos_ak_stats table, the status field. See what it reads? "fail" which is rendered as "Failed" in the Administer Backup Files page.
Ergo: Akeeba Backup will only mark the backup as failed when you visit the Control Panel page after a backup has failed. Why? Because when the backup fails, the PHP code which was running the backup is dead, as in no longer running. If the code is not running, how would you expect this (non-running) code to actually do anything? It starts making sense, doesn't it.
Put in another way. Let's say you have a PC (not a laptop and without a UPS). Rip the power cord off the wall. Whazam! The PC dies (fails). Can it email you to tell you that the power was cut off? Nope. When it powers up again, can it email you to tell you that the power had went off, sometime in the past? Yes. Same goes with backup. When the code fails, your server software (Apache) pulls the plug on PHP. PHP is dead. Gone. When will the Akeeba Backup code run again? During the next backup's startup OR when you visit the Akeeba Backup Control Panel page. Therefore, when is the next time Akeeba Backup can see if the last backup failed? During the next backup's startup OR when you visit the Akeeba Backup Control Panel page. Does it make any sense to email you at that time? No. This is what I said the previous time.
Before you ask, no, you can not have a plugin check for failed backups all the time. It would not only slow down your site, it could also misreport backups as failed. Why? Well, let's say that you have a BIG backup archive (let's say, 500Mb) which is being uploaded to Amazon S3 with a speed of 500Kb/second. It will take many minutes to upload it. During the upload, we can't update anything which would indicate that the backup process is not dead (it's uploading!), therefore the plugin would report the backup as failed, remove the backup archive and an otherwise PERFECT backup would be cancelled, deleted and never uploaded to S3. Bummer! Therefore, we can not create such a plugin.
I told you that I have thought it very thoroughly, didn't I? This is a constant feature request for the last 5 years :D
What can you do, then? It's the single most obvious thing :) Every day you should expect to receive an email at the very same time. If you don't, your backup didn't run, therefore it failed. This means that you can now go to your site, download the log file and figure out what's going on or, if you can't figure it out, start a new thread here and we'll help you. That's what everybody else does :)
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!