I explained why the concepts would be incompatible: if you delete any of the incremental backups taken since the last full backup you can't restore your site to a state that makes sense. That's basically what you were doing which doesn't make sense and can't work.
Regarding your comment about backup profiles: each backup profile is a different set of options and filters. They are all taken against the same site. You can of course restore a partial backup on top of a site. An incremental backup is, in fact, a partial backup: it has only some files of the site. By itself it can't restore a site but if it's restored on top of a full site it can do something useful. Ah! Therefore you can have one profile, let's call it X, taking a full site backup and another profile, let's call it Y, taking an incremental backup. Then you can restore them one after the other, in chronological order. That's the whole concept of incremental backups in Akeeba Backup.
Let's stop and think for a minute. How does that even work?
A full site backup includes all of your site's files and database table content.
An incremental backup includes one of the following:
- Incremental backups: all of the database content plus only the files that have changed since the last incremental backup based on the files' last modified timestamps.
- Incremental, files-only backups: only the files that have changed since the last incremental backup based on the files' last modified timestamps
I assume you have the former kind.
So, let's say that you have a full site backup from October 1st and two incremental backups from October 2nd and third.
You start by restoring the full site backup from October 1st. This restores the entire site: all of its files and all of its database contents.
Then you restore the incremental backup from October 2nd. All of the database content is overwritten with the database content from this backup profile. Any files added or modified between October 1st and 2nd are created or replaced respectively.
Then you restore the incremental backup from October 3rd. All of the database content is overwritten with the database content from this backup profile. Any files added or modified between October 2nd and 3rd are created or replaced respectively.
So your site is now more or less in the state it was on October 3rd. The only caveat is that files that have been deleted between October 1st and 3rd are NOT deleted. So it's imperative that you take a new full site backup when you expect files to be critically deleted, i.e. whenever you update Joomla and its extensions.
Since you're short on space you also definitely need to keep a limited number of backups at any one time. Therefore you need to be able to remove, say, all backup archives older than 30 days. Given how restoring incremental backups work you need to ensure that you have a full site backup taken at most 30 days prior. That's why you need to schedule a full site backup at least once every 30 days. Of course full backups take a lot of space but you only really need to keep the last one of them. So you can have a count quota of one.
Let's combine all those concepts together.
Create one backup profile that is a full site backup. Set up count quotas and set the quota count to one. Schedule this backup profile to run on the 1st of every month. You also need to manually run this backup after updating Joomla and its extensions.
Create a second backup profile of the Incremental Backup type. Set up count quotas for it and set the quota count to 30 (each month has up to 30 days but we don't take a backup on the 1st of each month, therefore we need up to 30 backups). Schedule this backup profile to run every day except the 1st of each month. Advanced mod: you can exclude database tables which have temporary data or infrequently modified data you can afford to lose (that's very site specific so I can't really guide you there).
Restoring your site means that you need to restore, in this order:
- The last full site backup.
- All of the incremental backups which were taken after the last full site backup, in chronological order.
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!