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 :)