PDA

View Full Version : Automatic Backup?


carmen
May 22nd, 2009, 06:51 AM
Is there a way to schedule an Automatic Backup of CommitCRM Data Base without having to do it manually everyday myself? Any Ideas?

Support Team
May 22nd, 2009, 07:22 AM
Hi carmen,

Yes, you can perform external backups of RangerMSP using standard backup tools. You just need to make sure no one is using the system when performing the backup (this is done by the RangerMSP internal backup utility, you can contact us directly for instructions on using this mechanism via an external script).

You can find more information about backing up the system in this forum thread.

Sherry

mcbsys
July 7th, 2009, 12:08 AM
Is it okay to leave CommitCRM running 24x7 if the external backup handles open files? For example, I have two active backup programs:

- Backup Exec 10.0d with the Advanced Open File option
- ShadowProtect Server Ediition (uses VSS)

CommitCRM uses a file-based database, right, similar to dBASE? So far with dBASE databases (e.g. GoldMine), I haven't had any issues as long as I'm using Backup Exec with the Open File Option. But then again, I haven't had to recover from disasters too often...

Mark

Support Team
July 7th, 2009, 08:27 AM
Hi mcbsys,

Thank you for your question. Basically the RangerMSP database (which uses Sybase-Advantage database) is similar to the DBase format (when using the RangerMSP non-SQL version), which means it is a file-based database.

However, when performing a backup it is required to make sure no one is using the database at the time of the backup.

To make sure no one is using the application at the time of the backup (including the RangerMSP services - Web interface and RangerMSPServer), you can use a similar mechanism RangerMSP uses in order to stop all activity. When using RangerMSP's internal backup utility, it signals RangerMSP clients to exit by creating a file called RangerMSPStop.ini in folder <Server>\RangerMSP\DBSys\

You can write a script that copies this file to the folder mentioned above. This will force all running clients and services to exit, then the script or your backup program will backup the data. The script should then delete this file to enable logins.
you can create the file on your own and then copy it - the file is a simple text file which should be called RangerMSPStop.ini, and should contain a single token:

[TERMINATE]
TimeBeforeAutoTerminate=1


Notes:
1. After saving the file to the folder wait about 5 minutes until all clients and services are signaled and close.
2. At the end of each day it is a good practice to manually close RangerMSP client on each PC
3. Make sure you delete this RangerMSPStop.ini file after the backup is complete or no one will be able to use the system

I hope this helps.

Neta

mcbsys
July 7th, 2009, 09:33 PM
Thanks Neta. I appreciate the detailed suggestion, but I must admit it seems rather complicated.

Do I need to re-start services after using this approach?

We are talking Advantage Local Server 8.1, right?

I'll do a little more research on this. Hopefully open file/snapshot technology is enough.

Mark

Support Team
July 8th, 2009, 06:13 AM
I know it sounds complicated, however, after performing the initial setup this actually works really nicely.

The way it works is that once you delete the file, there is no need to restart the services, they will find out that the file was deleted and will go on working like before after a minute or two. It doesn't matter which Advantage Database version you use in this case, as this is a pure RangerMSP mechanism, on top of the database. This is actually quite a convenient way to do this and I know that many users use this method successfully.

I hope this information is helpful.

Neta

ajgyomber
July 8th, 2009, 01:04 PM
Neta,

You should roll that .ini creation function into the CommitBackup.exe program via command-line switches. You should not have to write a script to drop the .ini, run the backup, and remove it. Ideally, you should simply be able to run CommitBackup.exe with some command switches via a scheduled task. This would be a nice future enhancement.

--AJ

Support Team
July 8th, 2009, 02:26 PM
Hi AJ,

Thanks for the idea, it sounds interesting. Basically using the RangerMSPStop.ini file is just a trick to make sure no one uses the system, while you use any backup tools of your own (which is the recommended backup option).

Neta

mcbsys
July 8th, 2009, 07:59 PM
Okay I think I've got the batch files working. We'll see how the backups behave.

Here are the scripts in case someone else want to do this. If you want to script the backup itself, just use WinZip in batch mode in between these two. (Check the standard CommitBackup.exe output for which folders to back up, then add others you need, like Docs.)

CommitCRM.PreBackup.cmd

@echo off
REM ================================================== =========================================
REM CommitCRM.PreBackup.cmd
REM July 8, 2009
REM
REM Create CommitStop.ini to stop CommitCRM CRM before running backup, then wait five minutes.
REM See here.
REM
REM Parameters:
REM %1: Local path to CommitCRM CRM
REM
REM Dependencies:
REM None
REM
REM Notes:
REM Run CommitCRM.PostBackup.cmd after backup to re-enable logons.
REM
REM ================================================== =========================================

if ###%1###==###### goto NoParam
goto ParamsFound

:NoParam
echo.
echo Missing path. Enter the local path to the CommitCRM CRM root directory.
echo.
echo Usage: CommitCRM.PreBackup.cmd "D:\Commit"
goto End

:ParamsFound

if exist "%1\DbSys\CommitStop.ini" del "%1\DbSys\CommitStop.ini"

echo [TERMINATE] > "%1\DbSys\CommitStop.ini"
echo TimeBeforeAutoTerminate=1 >> "%1\DbSys\CommitStop.ini"

timeout /t 300

:End

CommitCRM.PostBackup.cmd

@echo off
REM ================================================== =========================================
REM CommitCRM.PostBackup.cmd
REM July 8, 2009
REM
REM Delete CommitStop.ini after running backup so users can log on again.
REM See here.
REM
REM Parameters:
REM %1: Local path to CommitCRM CRM
REM
REM Dependencies:
REM None
REM
REM Notes:
REM Run CommitCRM.PreBackup.cmd to force users and services to stop.
REM After deleting CommitStop.ini, users can log back on and services restart automatically.
REM
REM ================================================== =========================================

if ###%1###==###### goto NoParam
goto ParamsFound

:NoParam
echo.
echo Missing path. Enter the local path to the CommitCRM CRM root directory.
echo.
echo Usage: CommitCRM.PostBackup.cmd "D:\Commit"
goto End

:ParamsFound

if exist "%1\DbSys\CommitStop.ini" del "%1\DbSys\CommitStop.ini"

:End

JoshuaB
July 15th, 2009, 09:02 AM
mcbsys,

Nicely done. Thanks for sharing! Will test out soon!