Schedule Backup using DBExport from Adempiere ERP in Windows OS


Scheduled Backup from Postgres using pgagent is possible , but the size of Backup file generated is very large compared to that generated from Adempiere using DbExport.bat.

Creating Backup from adempiere by scheduling running of RUN_DBExport.bat from adempiere periodicaly using windows task scheduler is a viable solution.

There are few bat files that need to be changed

* E:\Adempiere\utils\myDBcopy.bat
* E:\Adempiere\utils\RUN_DBExport.bat
* E:\Adempiere\utils\postgresql\DBExport.bat

In the above case  "E:\Adempiere\" is the path of Adempiere home where it was build. Make necessary changes as needed.

NB: The environment variables are to be set properly in "Computer>properties>Advanced System Settings>Advanced>Environment variables "so as to make the following steps work.

First file  to be changed is E:\Adempiere\utils\myDBcopy.bat

Here change
"set DATETIME=%date:~6,4%%date:~3,2%%date:~0,2%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%"

to

"set datetime=%date:~-4%_%date:~-7,2%_%date:~-10,2%_%time:~0,2%_%time:~3,2%_%time:~6,2%"

so as to get more refined backup file name.


Next file to be changed is  E:\Adempiere\utils\RUN_DBExport.bat
 
Here change "%ADEMPIERE_DB_PATH% " to "%ADEMPIERE_DB_HOME%" in :
"@call %ADEMPIERE_DB_PATH%\DBExport %ADEMPIERE_DB_USER% %ADEMPIERE_DB_PASSWORD%"

Next file to be changed is  E:\Adempiere\utils\postgresql\DBExport.bat

note : this step is necessary only if the backup has to be created in any drive other than system drive most probably C:\

As the command is : cd %ADEMPIERE_HOME%\Data and cd wont change drive in cmd, this can cause error. so just give the corresponding drive before the cd command as shown in the image below.



Scheduling the task:

Open windows task scheduler from Start > All Programs> Accessories> System Tools >Task Scheduler

Go to task Scheduler Library and create new task

Give the preffered name and proovide highest privilages to the task

Select trigger tab and select needed interval after which the backup has to be performed.
In the actions tab select new to select what has to be performed :

Here select start program from drop down and select the bat file to be run

untick all of the checkboxes in the conditions tab or manipulate as necessary

Thats it , Your adempiere backup has been scheduled.


To check it, run the task from the scheduler.  Enjoy :)