Support

Akeeba Backup for Joomla!

#13254 Quota management - still acting up

Posted in ‘Akeeba Backup for Joomla! 4 & 5’
This is a public ticket

Everybody will be able to see its contents. Do not include usernames, passwords or any other sensitive information.

Environment Information

Joomla! version
n/a
PHP version
n/a
Akeeba Backup version
n/a

Latest post by dkdb on Wednesday, 15 August 2012 11:45 CDT

dkdb
Mandatory information about my setup:

Have I read the related troubleshooter articles above before posting (which pages?)? Yes
Have I searched the tickets before posting? Yes (need a better search tool, to ONLY search tickets.
Have I read the documentation before posting (which pages?)? Yes
Joomla! version: 2.5.6
PHP version: 5.3.6
MySQL version: 5.0.95
Host: Blaanye
Akeeba Backup version: 3.6.1

Description of my issue:
I've set up two profiles, one takes backup locally (default), one takes backup to dropbox.
I've set the profile to keep 4 backups or 4 GB of backup, but looking in the log, I have 15 files and 10 GB of backup.
I've attached the quota settings below.

Best regards Kenneth

nicholas
Akeeba Staff
Manager
According to your screenshot you have not checked the "Enable remote file quotas" which means that your quota limits are not applied to remotely stored files, i.e. the files in your Dropbox.

You have to remember that the quota settings are applied per backup profile, not globally. If you have several profiles, each one manages its own quotas. If you have, say, two profiles with 4Gb quota each then you're looking at a maximum of 8Gb (not 4Gb!) of total files stored.

Finally, I would like to remind you that in the even that you enable the minimum backup age quotas then all other quota preferences (count or size based) will be overridden. It's not currently selected as far as I can see from the screenshot, but you should be aware of it should you choose to enable it.

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!

dkdb
Sorry for being unprecise, the dropbox profile seems to work fine, after you pointed my missing the two ticks as you did again here :-)
It's the local quota, which this profile is supposed to handle (default/local).

Best regards Kenneth

dkdb
Where do I find minimum backup age? I can see maximum?

Best regards Kenneth

nicholas
Akeeba Staff
Manager
Regarding the local quota, make sure you are talking about the profile you've set up quotas for. As I said, each profile manages its own quota and the quota limits are only calculated from the backups which were taken with that particular profile.

Regarding the backup age, I don't understand your question. Have you read the documentation of that feature?

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!

dkdb
I've searched the docs, but don't see what you mentioned with "minimum backup age"?

The profile I've set up should handle local storage.
I only have two profiles, local (1), dropbox(2).

Best regards Kenneth

nicholas
Akeeba Staff
Manager
Documentation of quotas, including maximum backup age quotas: https://www.akeebabackup.com/documentation/akeeba-backup-documentation/configuration.html#quota-management

Based on your screenshot, you have told Akeeba Backup to do the following only for backups taken with profile #1:
- Keep at most 4 backups
- Keep at most 4Gb of backups
Whichever is fulfilled first.

I would now to look at the backup list. Backup files listed as Obsolete are NOT present on your site (their files have been deleted, exactly as documented, i.e. what you told Akeeba Backup to do). Moreover, I only care about backups listed under profile #1. Everything listed under profile #2 is NOT handled by the settings you have in your screenshot because they belong to a different profile. If hope that's more clear now.

PS: All of what I am writing again and again in this ticket is information readily available in the documentation. Please do read the documentation. Based on your questions I believe you haven't read it yet, right?

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!

dkdb
Those settings are the ones I desire,yes.

I did read the documentation, and I know about MAXimum age, but you said MINimum age????
I know the obsolete is merely a showing of backups taken at a specific time and the time it took.

The jobs with Daglig lokal backup / Daily local backup is with profile 1

Best regards Kenneth

dkdb
The command the cron is executing every day is:

/usr/local/bin/php /xxx/cli/akeeba-backup.php --profile=1 --description="Daglig lokal backup" >/dev/null 2>&1

Best regards Kenneth

nicholas
Akeeba Staff
Manager
I think the may be a problem with the CRON script. Can you please ZIP and attach the latest log of the "Command line" origin?

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!

dkdb
Not much to see there,as it's set to warnings and errors only, should I rerun the backup with another error level? And if so, which level do you want?

Best regards Kenneth

nicholas
Akeeba Staff
Manager
Yep, not much to see here. I want you to set the log level to "All information and debug" then wait for the next CRON backup to execute. Then ZIP and attach the new log file.

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!

dkdb
Quite a bit more info in it today...

Best regards Kenneth

nicholas
Akeeba Staff
Manager
I think we found the problem:
WARNING |120815 03:25:40|mysqli_ping(): Couldn't fetch mysqli

MySQL is closing the connection. As a result Akeeba Backup can't update its #__ak_stats table and can't run its quota management code. In fact, the backup script crashes before it's able to finalise its work. Apart from configuring MySQL to keep connections open for longer (about an hour) I have no other idea about what you can do.

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!

dkdb
An hour, wow that IS long.
I doubt the hotel provider will extend it to that long, and I guess it's only a temporary solution until the backup takes longer...
Couldn't the script close the connection sooner, and reopen it?

Best regards Kenneth

nicholas
Akeeba Staff
Manager
It already does try to reconnect if it finds the connection closed (since Akeeba Backup 3.5.a1, actually). It seems that your server denies the connection. That's why I said I can't do nothing more than that :(

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!

dkdb
Usually my provider is very responsive, apart from keeping the mysql connection open for extreme periods, what else can be done in the mysql, so it wont deny the connection?

I just tried running the profile from Backend, and that completed without errors, and also cleaned up in the files and everything.

I'm going to test with a cron via frontend backup.

Best regards Kenneth

dkdb
I've tried running from the frontend via cronjob, and that also works.
I have a modified php.ini in my root directory, I guess that could affect things, it looks like this
post_max_size = 50M
upload_max_filesize = 50M
max_execution_time = 600

When I backup from frontend/backend, the log looks like this in the beginning:
[120815 12:00:02] --- System Information ---
[120815 12:00:02] PHP Version :5.3.6
[120815 12:00:02] OS Version :Linux
[120815 12:00:02] DB Version :5.0.95-community
[120815 12:00:02] Web Server :Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635
[120815 12:00:02] PHP Interface :cgi-fcgi
[120815 12:00:02] Joomla! version :2.5.6
[120815 12:00:02] Wget/1.11.4 Red Hat modified
[120815 12:00:02] Safe mode :0
[120815 12:00:02] Display errors :
[120815 12:00:02] Error reporting :
[120815 12:00:02] Error display :off
[120815 12:00:02] Disabled functions :
[120815 12:00:02] open_basedir restr.:
[120815 12:00:02] Max. exec. time :600
[120815 12:00:02] Memory limit :128M
[120815 12:00:02] Current mem. usage :14655292
[120815 12:00:02] GZIP Compression : available (good)
[120815 12:00:02] JPATH_BASE :<root>
[120815 12:00:02] JPATH_SITE :<root>
[120815 12:00:02] JPATH_ROOT :<root>
[120815 12:00:02] JPATH_CACHE :<root>/cache
[120815 12:00:02] Computed root :<root>
[120815 12:00:02] Output directory :/home/dkdbdk/backup

When it's startet from CLI, it looks a bit different in the settings:
[120815 02:30:01] --- System Information ---
[120815 02:30:01] PHP Version :5.3.6
[120815 02:30:01] OS Version :Linux
[120815 02:30:01] DB Version :5.0.95-community
[120815 02:30:01] Web Server :n/a
[120815 02:30:01] PHP Interface :cli
[120815 02:30:01] Joomla! version :2.5.6
[120815 02:30:01] Safe mode :0
[120815 02:30:01] Display errors :
[120815 02:30:01] Error reporting :E_ERROR | E_WARNING | E_PARSE | E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_COMPILE_WARNING | E_USER_ERROR | E_USER_WARNING | E_USER_NOTICE
[120815 02:30:01] Error display :off
[120815 02:30:01] Disabled functions :
[120815 02:30:01] open_basedir restr.:
[120815 02:30:01] Max. exec. time :0
[120815 02:30:01] Memory limit :32M
[120815 02:30:01] Current mem. usage :3819756
[120815 02:30:01] GZIP Compression : available (good)
[120815 02:30:01] JPATH_BASE :<root>
[120815 02:30:01] JPATH_SITE :<root>
[120815 02:30:01] JPATH_ROOT :<root>
[120815 02:30:01] JPATH_CACHE :<root>/cache
[120815 02:30:01] Computed root :<root>
[120815 02:30:01] Output directory :/home/dkdbdk/backup

There is a difference between memory limit, execution time og error reporting, though I have no idea why that would affect it.

Best regards Kenneth

nicholas
Akeeba Staff
Manager
OK, apart from the front-end method you can substitute the akeeba-backup.php with akeeba-altbackup.php in your CRON setup. The difference is that the akeeba-altbackup.php script is using the front-end backup mode. In this mode we are reloading Joomla! (and reconnecting to the database) after each backup step. This allows the MySQL connection to be valid at the time of the quota evaluation.

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!

dkdb
Can't make the alt script work properly, the guest counter goes haywire.
I'm going to use the frontend backup, as that seems to work perfectly.
It seems that my host likes it better when the connection are closed/opened for each step.
I also tried making the php command use my own php.ini, but that didn't help.

Best regards Kenneth

Support Information

Working hours: We are open Monday to Friday, 9am to 7pm Cyprus timezone (EET / EEST). Support is provided by the same developers writing the software, all of which live in Europe. You can still file tickets outside of our working hours, but we cannot respond to them until we're back at the office.

Support policy: We would like to kindly inform you that when using our support you have already agreed to the Support Policy which is part of our Terms of Service. Thank you for your understanding and for helping us help you!