This module will be work internally as command line interface (for Linux only) through linux crontab to backup and restore database.

  1. Backup database
  2. Restore as database _TEST
  3. Update image (i.e., with test logo) to _TEST

Just install this module, and it should work. Setup schedule time as you need it. Note: Itself, can also be used as scheduler instead of normal scheduler in OpenERP (you will see this backup and restore as one example).

Features

  • Add, Modify, Delete schedule
  • Direct process through command line interface

Setup Procedure

Menu -> Setting/Technical/Scheduler/Crontab Configuration

Fields:

  1. Crontab Name – name of crontab

  2. Description – more information

  3. Scheduling – crontab scheduling

    3.1 Minute: 0-59

    3.2 Hour: 0-23

    3.3 Day: 1-31

    3.4 Month: 1-12

    3.5 Weekday: 0-6, where 0 = Sunday

  4. Execute Directory – OpenERP’s root path to be used for log file, Temp File, DB Backup File and etc (depends on type of program)

  5. Command – command to run the program in command line interface pattern, require full path.

  6. Active – when True, will create crontab scheduler in OS. When False will delete it.

  7. Status

    7.1 Draft

    7.2 Confirmed

    7.3 Cancelled

  8. Attach File – Additional files, to be used in process (optional)

Note: crontab scheduler will be created only when State = Confirmed and Active = True

Technical Detail

Backup Database Script:

Use script, db_backup.py (written in Python)

 db_backup.py -u -d -p

Example:

 ‘/home/buasri/workspace/ecosoft_official_addons/ecosoft-addons/crontab_config/db_backup.py’ -u openerp -d TT -p ‘/home/buasri/workspace/openerp_tt’>>’/home/buasri/workspace/openerp_tt/crontab_oe.log’

Process:

  1. Create backup database as _dbbackup-YYYY-MM-DD hh:mm:ss.dmp
  2. Create file oe_db_last_bkup.txt to be used for restoration

Restore Database Process:

Use script, db_restore.py (written in Python)

 db_restore.py -u -d -p

-i id of crontab in OpenERP, from table crontab_config -c id of Company in OpenERP, from table res_company

Example:

 ‘/home/buasri/workspace/ecosoft_official_addons/ecosoft-addons/crontab_config/db_restore.py’ -u openerp -d TT_TEST -p ‘/home/buasri/workspace/openerp_tt’>>’/home/buasri/workspace/openerp_tt/crontab_oe.log’

Process

  1. Disconnect database to be restored
  2. Delete database
  3. Create new database
  4. Restore it.
  5. Read attached logo file
  6. Resize logo file
  7. Update logo file