V13 backup to v15 restore issues


(JC) #1

We have several v13 PBXes we want to upgrade using the “backup in v13 and restore in v15” method that v15 supports. The PBX we have to do now is a larger organization with a large number of calls. The CDRs and CELs are truncated to be only 6 months worth, but there are still a large amount. We get a complete backup in the production v13 PBX without issue. We restore this into a v15 PBX and it always times out after the prescribed 1 hour timeout.

  • We go back to v13 and backup everything except CDR and it restores fine into v15
  • We go back to v13 and only backup CDR and it times out when restoring into v15

A bit of sql probing and we find the CDR populates completely, but the CELs only get about 20% complete in the 1 hour timeout period.

This client uses the CDR frequently and uses Queue logs often too. I do not know anything for which they use CELs - but maybe I do not understand CELs and they really need them?

My questions are then:

  1. Can we move only the CDR and not the CEL without harm? If so, how do we do so?
  2. Can the 1 hour timeout increase in v15 restore to allow all the CELs to finish restoring? If so, how?
  3. Can we sql dump the v13 CDR / CEL and insert them into the v15 (I think not because I think the DB structure changed, but I am not certain)

Are there any other suggested options to consider?


(Lorne Gaetz) #2

I assume you’re restoring via the GUI, you may get different result if you restore using the CLI:

 fwconsole backup --restore /path/to/restore_tarball.tgz --restorelegacycdr

Also you can manually copy CDR records between major versions using the method in part 2 of this post: How to: Upgrade FreePBX13 to FreePBX14 on Hyper V - Guide


(JC) #3

Thanks for advice Lorne - it is appreciated. We will be trying this tonight / this weekend!


(JC) #4

For those that may encounter the same, here is how we made this work. Choose either option 1 or 2.

  1. Run a full backup including CDR and CEL’s. On the target system, modify the Legacy.php file (/var/www/html/admin/modules/backup/Handlers/Restore/Legacy.php) to change the timeout to 10 hours instead of 1 hour. Now there should be enough time for the CDR and CEL restore for run fully.

  2. Backup all but CDR and restore that backup onto the target system. Then use mysqldump to create CDR and CEL dump from old system and import that dump into new PBX.

Either worked, but method 2 was much faster (backup/restore took 2 mins and the mysql dump process took 10 mins vs the complete backup and restore which took 4 hours total) and does not require modifying the legacy.php file.

Thanks for pointing us in the right direction Lorne!!