Hello Allen,
I received the following email from you:
Nicholas,
Davide Tampellini explained that to perform an incremental backup, I need to actually use 2 separate backup profiles. He says I need to perform a full backup under a full backup profile, and then perform incremental backups with the incremental profile, and that I would be restoring both if I ever need to restore.
Doesnāt the first run of the āFull, incrementalā profile already perform a full backup to start from? Why would I need a separate full backup to work from. If anything, this would screw up the incremental since it is looking for a full backup start-point of its own that likely has a unique start-point identifier, not true?
Also Davide does not seem to be able to answer my questions about incremental chain management. It appears I can expire a given chain automatically after a set amount of days, which should cause a new chain to create ā at least, I think so. That was one of my questions in the forum post. As you know, its common to re-start incremental chains periodically so there are not so many pieces vulnerable to corruption.
I attached a screen cap to my forum ticket, but Davide canāt find it. I checked. Itās there. Now Iām troubleshooting your troubleshooter.
I am replying here because, as I told you, my availability is pretty low since I have a sick toddler to tend to. Davide is more than capable of answering any further questions.
First things first, itās a support ticket system, not a forum. You get personalised support from the developers of the software. This information is printed at the bottom of every ticket page on our site. Davide is indeed one of the two developers in the company, me being the other one. We both do development and support. You donāt get support from a random outsourced person who doesnāt know what they are talking about.
For what itās worth, your use case (a site with an LMS) is indeed the original use case for which the āFull site, incremental filesā backup type feature was developed a decade ago. That is to say, we know your use case very well and we are confident that what we describe will work for you. Towards the end of this reply Iāll let you know how to test it.
I reviewed Davide's replies and the information heās giving you is accurate, itās exactly what I have already told you since my first reply to your pre-sales email and itās consistent with our documentation. Since you seem to have trouble locating the documentation, itās under Support, Documentation at the top menu on our site. Direct link:
https://www.akeeba.com/documentation/akeeba-backup-documentation.html You can also download it as a PDF file. Go to our Download page, find Akeeba Backup for Joomla and click on All Files. Click on the āDocumentation in PDF formatā item. Direct link for the documentation to version 7.5.3:
Documentation in PDF format
Regarding your screenshot, you only uploaded one showing your quota management configuration, NOT the configuration of two separate backup profiles or which backup types you selected. Since Davide was describing how to set up your backup profile and he only saw a screenshot about quotas which doesnāt apply in context heās of course assuming that you had another screenshot which you didnāt upload. He put it in a tactful way instead of telling you that the only way an attachment wouldn't upload is if it was never included by you a different file extension than the ones we tell you we support under the attachment area, bigger than the maximum size we tell you we support in the same place or contained suspicious code, it was rejected by our security filter (but you'd have gotten an error anyway) for you had a network issue (again, you'd have seen an error). He wasn't telling you our site was broken. He was just trying not to offend you for something that seemed to be a user caused problem. In any case, the problem was that the screenshot you uploaded was unrelated to what Davide was talking about so it makes sense he though something is missing.
Restoring an incremental backup set is a manual process. You have to manually extract the files from your "base" backup (an archive made with a Full Site Backup profile), then extract all incremental archives on top of it. Finally, used this collection of extracted files to restore your site. This process should only be used if you really know what you are doing. Do not trust that Akeeba Backup can sort out the collection of incremental backups and help you restore them. It won't.
Please do remember that I was very upfront with this detail answering your pre-sales email before you subscribed.
Regarding quota management, I was also very upfront with this information and gave you the setup information you need. Furthermore, I have documented how they work in the
Quota management documentation page. So, no, they will not restart the incremental chain. Doing so requires removing all backup records from the incremental backup profile, i.e. having no backups. This is most definitely NOT what you want.
Please remember that I have already told you how you need to set up Akeeba Backup. In the interest of keeping the information in one place I am repeating myself below.
1. Full backup profile. Backup type set to āFull site backupā. Only count quotas enabled and set to 4 (two weeks of two backups per week equals four backups to be kept). Apply remote quotas enabled since you are using BackBlaze B2. Set up a CRON job to run this backup profile twice a week, e.g. Sunday and Wednesday.
2. Incremental backup profile. Backup type set to āFull site, incremental filesā. Only count quotas enabled and set to 5 (an entire week of incremental backups is 5 backups). Apply remote quotas enabled since you are using BackBlaze B2. Set up a CRON job to run this backup profile five times a week when your full site backup is not running, e.g. Monday, Tuesday, Thursday, Friday, Saturday.
Alternatively to count quotas you could of course use date quotas ā only do that if you plan to also take manual backups and donāt want quotas to accidentally delete a backup youād have liked to keep! In this case you need check the Enable maximum backup age quotas. Set the maximum backup age to 14 days for the Full backup profile and 7 days for the Incremental backup profile. In both cases set āDonāt delete backups taken on this day of the monthā to 0 so nothing is kept forever.
As stated in the documentation (which I quoted above) and explained by me in our email exchange and Davide in the ticket the restoration process is multi step. First, you completely restore the latest full site backup (taken with the profile āFULL BACKUP PROFILEā I described above). Then you need to restore each and every backup taken with the āINCREMENTAL BACKUP PROFILEā I described above, as long as they are taken after the full site backup you have already restored.
If you want to be on the safe side, when restoring the full site backup and only then you can choose the Kickstart option to delete all files and folders before extracting the backup. This will delete all files and folders under your site before extracting the full site backup, ensuring that any files added after the last backup youāre restoring wonāt be present. This may be necessary if youāre recovering from a bad Joomla / extension update that broke your site.
Iāll give you a few examples, given the following list of backups and assuming the current date is Saturday, February 6th, 2021 early in the morning (before the daily backup ran)
Backup #34 ā Incremental backup profile ā Friday, February 5th, 2021
Backup #33 ā Incremental backup profile ā Thursday, February 4th, 2021
Backup #32 ā Full backup profile ā Wednesday, February 3rd, 2021
Backup #31 ā Incremental backup profile ā Tuesday, February 2nd, 2021
Backup #30 ā Incremental backup profile ā Monday, February 2nd, 2021
Backup #29 ā Full backup profile ā Sunday, February 1st, 2021
Backup #28 ā Incremental backup profile ā Saturday, January 31st, 2021
Backup #27 ā Incremental backup profile ā Friday, January 30th, 2021 (DELETED due to quotas)
Backup #26 ā Incremental backup profile ā Thursday, January 29th, 2021 (DELETED due to quotas)
Backup #25 ā Full backup profile ā Wednesday, January 28th, 2021
Backup #24 ā Incremental backup profile ā Tuesday, January 27th, 2021 (DELETED due to quotas)
Backup #23 ā Incremental backup profile ā Monday, January 26th, 2021 (DELETED due to quotas)
Backup #22 ā Full backup profile ā Sunday, January 25th, 2021
Backup #21 ā Incremental backup profile ā Saturday, January 24th, 2021 (DELETED due to quotas)
Backup #20 ā Incremental backup profile ā Friday, January 23rd, 2021 (DELETED due to quotas)
Backup #19 ā Incremental backup profile ā Thursday, January 22nd, 2021 (DELETED due to quotas)
Backup #18 ā Full backup profile ā Wednesday, January 21st, 2021 (DELETED due to quotas)
Example 1. You want to restore the site to its state on January 24th
You canāt, because both the full site backups and the incremental backups from that date are deleted. At best, you could restore your site on its January 25th state.
Example 2. Restore the site to its state on January 25th
You only need to restore backup #22. Itās a full site backup profile.
Example 3. Restore the site to its state on January 26th
You canāt, because you only have full site backups for the 25th and 28th. The incremental backups in between were deleted due to quota settings (you only keep a week's worth of incremental backups). So, you need to only restore your full site backup from the 25th or the 28th; your choice.
Example 4. Restore the site to its state on January 31st
January 31stās backup is incremental. Go back the backup list and find its immediately previous full site backup. Itās backup #25 taken on the 28th of January. Therefore you need to restore the following backups in this order:
- #25 from January 28th
- #26 from January 29th
- #27 from January 30th
- #28 from January 31st
Example 5. Restore the site to its last known good state i.e. February 5th
February 5thās backup (#34) is an incremental backup. Go back the backup list and find its immediately previous full site backup. Itās backup #32 taken on the 3rd of February. Therefore you need to restore the following backups in this order:
- #32 from February 3rd
- #33 from February 4th
- #34 from February 5th
Finally note that you can test your backups without touching your live site. Set up a local server e.g. with MAMP, XAMPP, WAMPserver or something similar. Download Kickstart Core (donāt use Pro, itās only meant for specific use cases which have to do with downloading files from a different server or Amazon S3 and is harder to use) from our site and extract the ZIP file. Copy kickstart.php to your local siteās root. Download the backup archives from BackBlaze B2, the same backup archives youād need to restore your site per the documentation, what Davide explained and my examples. Restore your backups one at a time on your local server. We do that all the time with our own sites. We never work changes on our live sites. We test everything on a local copy first using a backup taken and restored with Akeeba Backup.
I hope this information helps. If you need clarifications you can ask Davide. So far he's given you nothing but accurate replies.