Alternative methods of pulling backup of current config

Status
Not open for further replies.

VIQ

Silver Partner
Joined
Mar 30, 2010
Messages
8
Reaction score
4
Background: I have a client whose 3CX on-prem server did an automatic update on or about 9:18am 2/8/2023. From that point forward, services and applications depending on .NET libraries in the "C:\Program Files\3CX Phone System\Bin" directories failed to start including the management console and "BackupCmd.exe." Initial reviews of the error log showed that "ExtensionUtils.dll" was having issues. I checked the MD5 checksum of the copy on my problematic server against another client's known good server (updated successfully to 18.0.6 on 2/5) and confirmed that the one on the problematic server was different despite having the same version number. I replaced the ExtensionUtils.dll file with the good one. After that, only .NET errors remained. I confirmed that all the .NET libraries are okay by comparing the checksums of all the files that got touched during the update on the problematic server and the known good server so the only problematic file from the 3CX upgrade that I can determine is "ExtensionUtils.dll" likely the only problematic file. The services and applications still don't start and all signs point to a reinstallation. However I do not have a backup of this server from any point in the last year (we're investigating why that is the case internally). So value judgements on "you should have a backup" are moot. We expected to but we apparently do not.

Request: Because the files had been "tampered with" the 3CX technician declined to attempt a repair but they neglected to even acknowledge my true question about how to obtain a backup some other way. The configuration seems to be held in a SQL database of some description, I think it's a combination of PostgreSQL and MongoDB. I checked a backup from another client and it looks like it's just a ZIP file containing exported CSV data from the database. Is there a way to use tools targeting those database types to construct a working backup without using the built-in mechanisms?
 
I did speak with a support lead on this and he says that typically there isn't a way to perform such a backup. I am still wondering if any members of the community have experience in performing a backup on a completely nonfunctional PBX. I'd imagine that it should be possible, but probably not easy.
 
I have resolved this issue in something of an unorthodox way. The technician who had access to our client's server earlier today left a logfile open called "Updater1.log" which contained the URL of the patch file. It looks like 3CX saves this file to "C:\ProgramData\3CX\Data\Updates\servicepack.zip" when doing automatic updates. I redownloaded a copy primarily because I was curious what it contained as well as curious if the copy which had resulted in the failed update had a different checksum (it did not so I guess the service pack downloaded okay). Seeing the resulting directory structure I came up with a plan to attempt an in situ recovery without the need for a backup. Here are the steps I took.
  1. Disable and stop all running 3CX services.
  2. Copy the files from the "Programs\Bin" folder of the .ZIP file into "C:\Program Files\3CX Phone System\Bin"
  3. Re-enable and start the 3CX services.
I was able to restore functionality without doing the normally prescribed "uninstall and reinstall" operation. Obviously this situation was dire, but dire situations occur for all of us from time to time. I hope this information is helpful to someone who encounters this in the future. Understand that this was a bit of a long shot and your mileage will vary.
 
Status
Not open for further replies.

Forum statistics

Threads
111,911
Messages
589,698
Members
164,779
Latest member
affinity123