I am trying to set up a Warm Standby PABX as per: Warm+Spare+Setup on the freepbx wiki (I am not able to link as this is my first post)
This has worked perfectly for 3 sites but for the latest site I am getting the following message about 30 seconds into the backup:
Intializing Backup 6
Connecting to remote server...
/bin/tar: Removing leading `/' from member names
/bin/tar: Removing leading `/' from member names
/bin/tar: Removing leading `/' from member names
/bin/tar: Removing leading `/' from member names
/bin/tar: Removing leading `/' from member names
PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 524288 bytes) in /var/www/html/admin/libraries/utility.functions.php on line 877
Verifying received file...
File verification failed.
Here are the first few lines of the file as sent by the remote server:```
I have tried:
1. Increasing the memory available to php from 128M to 1024M (confirmed on the phpinfo.php page)
2. Running the backup with different backup options omitted
3. Adding in a line to *utility.functions.php* to log the directory variable just before line 877 (which the script complains about as per the message above) and tailing the /var/log/httpd/error_log file but nothing is being output here.
error_log("$dir",0);
//get directory contents
foreach (scandir($dir) as $d) {
Any assistance would be much appreciated
That warning has been gone for a while. Please ensure all your machines are up to date. Iām pretty sure that was fixed about 6 months ago in the 12 release cycle.
The cause of the problem is that youāre trying to back up an insanely huge number of files. You need to reduce the number of files youāre backing up. You could put something like this: print "$d\n";
after that foreach and youāll see the directories itās trying to back up, which will help you remove the erroneous entry.
Thanks for the reply. I will look at upgrading and I have added the echo and will make another attempt to backup tonight and identify the problem directory.
Regarding the actual backup and size:
Does it do a full copy or a copy of the diffs? In my mind the script would use either and scp or an rsync so I am thinking that if I can get an initial snapshot of the primary pbx backed up the the future backups may be less huge.
How can I control the size of the backup or can I perhaps copy in smaller segments? In the wiki I followed I dragged a preconfigured āFull Backupā set of options and while I can control what I backup, I donāt seem to be able to control how much of the files I backup.
Given that I can control what I backup, would it perhaps be an option to run multiple backups with only different components of the full backup selected?
I have followed your edit and added some other lines (see inline comments) to try and identify a directory giving an error. It does not echo to the web interface and i do not see anything in the /var/log/apache/error_log when I tail. Changes are as follows:
869 function scandirr($dir, $absolute = false) {
870 $list = array();
871 if ($absolute) {
872 global $list;
873 }
874
875 error_log("$dir",0)//added by me
876 //get directory contents
877 foreach (scandir($dir) as $d) {
878 print "$d\n";//added by me
879 echo "$d\n";//added by me
880 error_log("$d",0);//added by me
881 //ignore any of the files in the array
882 if (in_array($d, array('.', '..'))) {
883 continue;
884 }
Here is the latest output:
Saving Backup 6...Intializing Backup 6
Connecting to remote server...
/bin/tar: Removing leading `/' from member names
/bin/tar: Removing leading `/' from member names
/bin/tar: Removing leading `/' from member names
/bin/tar: Removing leading `/' from member names
/bin/tar: Removing leading `/' from member names
PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 524288 bytes) in /var/www/html/admin/libraries/utility.functions.php on line 877
Verifying received file...
File verification failed.
Here are the first few lines of the file as sent by the remote server:
rm: cannot remove `/var/spool/asterisk/tmp/backup-6/astdb': Permission denied
rm: cannot remove `/var/spool/asterisk/tmp/backup-6/mysql-3.sql': Permission denied
rm: cannot remove `/var/spool/asterisk/tmp/backup-6/etc/dahdi': Permission denied
rm: cannot remove `/var/spool/asterisk/tmp/backup-6/etc/asterisk': Permission denied
rm: cannot remove `/var/spool/asterisk/tmp/backup-6/tftpboot': Permission denied
rm: cannot remove `/var/spool/asterisk/tmp/backup-6/mysql-4.sql': Permission denied
rm: cannot remove `/var/spool/asterisk/tmp/backup-6/var/lib/asterisk/bin':
I am guessing that the remove follows an unsuccessful backup as a cleanup if the backup fails?
Note I havenāt yet upgraded the version of Freepbx as I need to organize internet breakout with the network admin. Could this perhaps be causing or contributing to the issue?