Backup Server OpenERP

Setelah implemetasi memasuki tahap GoLive, biasanya database menjadi sesuatu yang sangat penting untuk membackupnya, salah satu caranya kita gunakan script shell, ikuti petunjuk ini:

Login sebagai user biasa atau sebagai root dan buatkan lokasi dimana kita akan simpan file backup, misalnya di direktori /opt/backup

$ cd /opt
$ mkdir backup
$ sudo chown postgres:postgres backup

Create skrip di direktory /usr/local/bin/ dengan nama “backup_openerp_dbs.sh”

$ cd /usr/local/bin/
$ sudo nano backup_openerp_dbs.sh

Lalu masukkan script berikut:

#!/bin/bash

# Definisikan beberapa variable
USER="postgres"
DUMPALL="/usr/bin/pg_dumpall"
PGDUMP="/usr/bin/pg_dump"
PSQL="/usr/bin/psql"
PORT="5433"

# Create Direktori Backup
BAK_DIR="/opt/backup"
YMD=$(date "+%Y%m%d_%H%M%S")
DIR="$BAK_DIR/$YMD"
mkdir -p $DIR
cd $DIR

# Backup All Database
DBS=$($PSQL -l -p $PORT -U$USER | awk '{ print $1}' | grep -vE '^-|^List|^Name|template[0|1]' | grep -v '|' | grep -v "(")

for database in $DBS; do
    $PGDUMP $database -p $PORT -U$USER | gzip > $DIR/$database.sql.gz
done

Cara Backup Code Lainnya

 
#!/bin/bash

# Definisikan variable
USER="postgres"
DUMPALL="/usr/bin/pg_dumpall"
PGDUMP="/usr/bin/pg_dump"
PSQL="/usr/bin/psql"
BASE_DIR="/opt/OpenObject/OpenERPv6/backup"
YMD=$(date "+%Y-%m-%d")
DIR="$BASE_DIR/$YMD"
mkdir -p $DIR
cd $DIR

# Masukan daftar database yang ada di system ke variable DBS, kecuali database tempate
DBS=$($PSQL -l | awk '{ print $1}' | grep -vE '^-|^List|^Name|template[0|1]' | grep -v '|' | grep -v "(")

# Daftarkan database apa saja yang mau dibackup, contohnya: database1 dan database2 
TOBEBACKUP="database1 database2"

# Jalankan proses backup
for database in $DBS; do
  for tbb in $TOBEBACKUP; do
    echo $database | grep -q $tbb
    if [ $? -eq 0 ] ; then
      $PGDUMP $database | gzip > $DIR/$database.sql.gz
    fi
  done
done

Kalau sudah, jangan lupa berikan hak untuk mengeksekusi dan rubah kepemilikan dengan perintah berikut:

$ sudo chmod +x /usr/local/bin/backup_openerp_dbs.sh
$ sudo chown postgres:postgres /usr/local/bin/backup_openerp_dbs.sh

Sekarang coba jalankan skrip backupnya :

$ sudo su postgres
$ backup_openerp_dbs.sh

Lalu periksa apakah ada file-file backup tercipta di direktori backup

$ ls -la /opt/backup/

Jika ada direktori dengan nama seperti 20120302_000203 dan didalamnya ada file dengan akhiran .gz, maka backup berhasil.

Sekarang kita tinggal buat agar skrip tersebut dijalankan pada waktu-waktu tertentu misalnya 2 kali sehari yaitu jam 12 siang dan jam 12 malam.

$ sudo su postgres
$ crontab -e

Lalu masukkan kode berikut:

00 12, 24 * * * /usr/local/bin/backup_openerp_dbs.sh

Artinya, jalankan skrip backup_openerp_dbs.sh yang ada di direktori /usr/local/bin setiap hari pada jam 12 siang dan jam 24 malam dan catat lognya di /var/log/cronjob.log

Semoga bermanfaat.

sumber : http://openerp.co.id/forum/viewtopic.php?f=19&t=52&sid=56abcf007b1a0c457fc0d14e206b6477

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s