Quantcast
Channel: Webkul Blog
Viewing all articles
Browse latest Browse all 5537

How to backup and restore OpenERP database automatically on linux ?

$
0
0

In my last article , I described you how to take backup and restore OpenERP database using Openerp GUI or web-interface method method. Now, In this article , I`ll describe you how to take backup of your OpenERP database automatically and regularly too after certain time of period, using cron on linux.

1) Create 2 directories, one for placing the backup script (/var/scripts) and other for placing your database dump files (/var/pgdump).

NOTE – both directories should be owned by user = root

2) Create a script file as – /var/scripts/dump_db.sh, set permission as 700,  owned by user = root and meant to run as root. I`ll set a cron job. The content of this script will be -

#!/bin/bash

#fixed parameters:
date=$(date +"%Y-%m-%d_%H:%M:%S")
db='name_of_the_db_u_want_to_take_backup'
backup_path="/var/pgdump"
filename="$backup_path/${db}_$date"

# Stop OpenERP Server
 /etc/init.d/openerp-server stop

# Taking Dump of selected DB
sudo -H -u postgres bash -c "pg_dump --format=c --no-owner $db>$filename"


# Start OpenERP Server
/etc/init.d/openerp-server start

exit 0

NOTE: starting/stopping openerp server is needed only when the database is heavy

You can test whether this script is working or not by manually running it, like this

/var/scripts/./dump_db.sh

3) If everything goes correct , create a cron to run this script regularly after certain time of period -

sudo crontab -e

# add this line
0 */12 * * * /var/scripts/dump_db.sh
# this would run after every 12 hours i.e twice a day

4) In order to restore using these dump file we can use Openerp GUI.

5) Remove old dump files ,

- create another script (deletes backups which are older than 30 days) as
/var/scripts/rm_db.sh

#!/bin/bash

sudo find /var/pgdump/* -mtime +30 -exec rm {} \;

exit 0

- add this to cron as -

sudo crontab -e

# add this line
5 8 * * 6 /var/scripts/rm_db.sh
# this would run 8:05 every saturday

That`s it !!!
I hope it will help someone. :)

Your opinions, comments and suggestions are important to keep the page updated and interesting. 

Viewing all articles
Browse latest Browse all 5537