Saturday, January 19, 2019

Amazing Backup Other Location

My father switched to Amazing Charts after SOAPWare added poison to kill all self-hosted solutions, per Athena Health's acquisition. Thanks Athena for reminding me, again, why I like to stay behind on updates... Amazing Charts has been OK, but their backup utility, Amazing Backups, is not very amazing. I am using Amazing Charts v 10.0.2. Amazing Backups does not have it's own version number.

The major problem with Amazing Backups is it hardcodes backup locations to [Amazing Charts Install Location\Backup, which for us is C:\Program Files (x86)\Amazing Charts\Backup. This is a problem, since C:\ is also where the operating system is installed, and the backups eventually fill everything up, causing lots of other problems. None of the build-in backup options actually remove backups from this location. 

So, what's our solution? I created a directory junction from C:\Program Files (x86)\Amazing Charts\Backup to E:\AmazingCharts\Backup, which has plenty of space. I used this command:

(I created a shortcut as C:\Backup that points to E:\AmazingCharts\Backup)
C:\Program Files (x86)\Amazing Charts>mklink /J Backup C:\Backup
Junction created for Backup <<===>> C:\Backup
C:\Program Files (x86)\Amazing Charts>

Effectively, this makes Amazing Backups think that C:\Program Files (x86)\Amazing Charts\Backups is actually E:\AmazingCharts\Backup. This seems to be working. Keep reading below if you want to read about all the stuff I tried, that didn't work.

The first thing I tried was configuring Amazing Charts to backup to a different location. You might thing that it would not also backup to it's default location, but then you would have thought wrong. 



 Image 1 - default Amazing Charts Backup Configuration

Putting anything into the Step 2 box does not remove the backups from Step 1 (the default location) during task scheduling. 



Image 2 - Backup Schedule

Apparently, those that designed Amazing Charts believed that one would only want to schedule a backup into the default location, since that is all that happens. 

\
Image 3 - Advanced Settings

These advanced settings were also not helpful. They did copy backups to the locations specified, but left them present in their original location.

So, none of these configurations worked.

The next thing I did was email their tech support, Lee Engle. Lee has been super helpful during the migration, and installing, but his answer did not install confidence in their Amazing software Engineering abilities:

Right now, the AC backup is hardcoded to always place the original backup on the drive where AC is installed. Once it has done that, it should then place a copy of the backup onto the specified drive (like the E drive in this instance.) I checked with our tier 3 techs to see if this could be changed, but it looks like at this time it cannot be. I apologize for the inconvenience. Lee Engle, March 20, 2018.


So, I did the only thing someone formally trained in software development could do, I asked for the source code. Lee's response?

This is pretty far outside the realm of what I am authorized for. I've passed this up the chain to my supervisor and will let you know how things proceed from there. Lee Engle, March 29, 2018.

I haven't heard back about this, and I doubt I will. So, onward.

After trying this, I decided to write my own backup rotation script. My Windows scripting skills sort of suck, but this is extremely basic. Here's what I came up with:

ECHO OFF

set "currentDate=%date:~10,4%_%date:~4,2%_%date:~7,2%"
ECHO %currentDate%

REM This would be better to get from an AmazingCharts configuration variable
SET "defaultBackupLocation=C:\Program Files (x86)\Amazing Charts\Backup\*"

REM This would be better to get from the configuration of Amazing Backups
set "actualBackupLocation=E:\AmazingCharts\backups"

REM also would be good to include 7za.exe (stand along) in the Amazing Backups installation - I already have this 
REM     so no advantage to using the stand-alone version
REM     SET "PATH=%PATH%;C:\Program Files (x86)\7-Zip" - not sure about checking the path before adding, I'll provide the full
REM     path below to avoid this problem 
REM -tzip does not provide ANY storage benefit
REM -t7z  does not provide ANY storage benefit
REM I think the archives are already compressed, since my two compression attempts did not yeild any improvement

ECHO ON
move /Y "%defaultBackupLocation%" "%actualBackupLocation%"

ECHO OFF 

This worked all right, scheduled to run at 5:28 a.m. Sometimes it wouldn't work, or would get caught up on itself, and I'd have to come back every few months and clean out the default location. I THINK what was happening is that this script would run at 5:28, and then the Amazing Backups would kick on at 8:44 a.m. and the two processes would fight for control of these files. I have since adjusted the backup time to be much earlier. So, this sort-of worked, cutting down on the backup rotation work by like 80%.

The next thing I tried was adding a shortcut from C:\Program Files (x86)\Amazing Charts\ to E:\AmazingCharts\Backup named Backup. This didn't work, as the backup utility just created a Backup folder, right next to the shortcut named "Backup."

After that, I tried researching Window's versions of symbolic, and hard, links and came up with directory junctions. This seems to be working all right.

Image 4 - Backup Utility Running

Normally, I cannot stand doing this kind of system administration, dealing with other people's busted programs kind of work. If I had the source code for Amazing Backups, I'd fix this properly, instead of having to dance around it. However, my parents need IT help, and it's good to make sure people's medical records are backed up.

Next steps here involve writing backup rotation scripts that clean up E:\AmazingCharts\Backups in line with our backup retention policy. Unless someone gives me the source code for Amazing Backups... Then I'll fix the application properly, and add backup retention options.

If you're interested in talking more, check out the contact us page for the software company I own. Send me a message there with your contact info, and I'll get back in touch with you.


No comments: