Backup otomatis [scheduler] postgres dengan crontab

Gara-gara query sebaris hancur semua data transaksi.

It’s happen to me! Weks!

Hal di atas tidak akan masalah kalo kita memiliki backup database. Penerapan backup secara berkala memang perlu dilakukan untuk menghindari hal-hal yang tidak diinginkan, salah satunya seperti kasus di atas, LOL.

Berikut cara mudah membackup database postgres dengan memanfaatkan cron di lingkungan linux:

1. Buat script shell untuk membackup postgres.

#!/bin/bash
#backup destination
BACKUPDIR="/root/Desktop/simpad.bak"
#postgres host
PGHOST="localhost"
#postgres user
PGUSER="postgres"
#postgres pg_dump location
PGBIN="/user/bin"
#today
TODAY=`date --date="today" +%Y%m%d`
#yesterday
YESTERDAY=`date --date="yesterday yesterday" +%Y%m%d`
#month
themonth=`date --date="today" +%Y%m`
#Ngakalin supaya tidak minta password pada saat backup - weakness!
export PGPASSWORD=mypassword

#create a full backup of the server databases
#$PGBIN/pg_dumpall -h $PGHOST -U $PGUSER | gzip > $BACKUP_DIR/fullbackup-$themonth.sql.gz

#kalau database yang ingin dibackup ada beberapa pake ini
#put the names of the databases you want to create an individual backup below
#dbs=(db1 db2 db3)
#iterate thru dbs in dbs array and backup each one
#for db in ${dbs[@]}
#do
#    $PGBIN/pg_dump -i -h $PG_HOST -U $PGUSER -F c -b -v -f $BACKUPDIR/$tTODAY-$db.backup $db
#done

#backup 1 database saja
DB=sampledb
$PGBIN/pg_dump -i -h $PG_HOST -U $PGUSER -F c -b -v -f $BACKUPDIR/$TODAY-$DB.backup $DB

#this section deletes the previous month of same day backup except for the full server backup
rm -f $BACKUPDIR/*`date --date="last month" +%Y%m%d`*.backup

2. Simpan script di atas. misal:

/root/Desktop/pgbackup.sh

3. Konfigurasi cron, kebetulan OS yang digunakan adalah RHEL.

root@rhel:~# crontab -e
# m  h   dom mon dow user     command
  10 17  *   *   *   *        /root/Desktop/pgbackup.sh

4. Job di atas akan dijalan setiap jam 5 lewat 10 menit

5. Restart cron

root@rhel:~# /etc/init.d/crond restart

6. Selesai

Demikian dokumentasi singkat. 😀
Learn from Reality!

Backup otomatis [scheduler] postgres dengan crontab

Repository From FC9 DVD Installation

Huu… udah hampir seminggu nyoba2 bikin mail server, termotivasi dari om dedyeuy. Dari mulain distro fedora 5, ubuntu, slackware ane bedah semua tapi emang belom jodoh kali ya, ga berhasil sampai akhir.

Nah kemaren sore om dedyeuy berbaik hati untuk sharing hasil begadangnya ke ane. Langsung aja ane temuin dia di kampus tamrin sehabis pulang bekerja sekalian minjem dvd fedora 9-nya. Ga duduk cincay lama2 ane langsung cabut go home buat nyoba ntuh bikin mail server tutorialnya si om dedyeuy.

Sampe rumah, istirahat bentar, idupin komputer, instal FC9, nunggu sambil nyemoke+ngupi [ga pake “l”]… Udah rebes, cek NIC dulu, soalnya kemaren pake FC5 ga kedetek tuh NIC. Wah kedetek, siip lah. Colok flashdisk, cari tutorialnya, ketemu. Eng ing eng… file apaan nih? [filename:Email Server di fedora 9 by_dedyeuy.odt] Ya ampyun nih file OpenOffice-Writer, duh capedeh secara tadi ga diinstal Office Productivity-nya ngara biar cepet instal FC9-nya.

Coba cari di Package Management/Add Remove Software, duh ga bisa diinstal, secara tuh program nyedot dari internet. Nyari lagi di FC9 dvd instalasi-nya, wah ada banyak, di direktori Packages, kali ini nyoba pake perintah:

# rpm -ivh install OpenOffice-Writer.x.xx.xxx.rpm

Waduh banyak bangat dependency-nya, mesti nginstal satu2 dong nih. Mmm, malam semakin larut aku sendiri tak ada yang menemani… kira2 begitulah…

Tanpa ada rasa putus asa, nyoba lagi nyari cara biar bisa instal sekaligus tanpa harus instal satu2. Coba, coba, coba lagi, aha… ketemu… pake yum. Tapi bukannya yum juga nyedot dari internet. Yup betul, tapi kita akalin gimana biar ntuh yum nyedot dari dvd juga secara dirumah ane kaga ada line internet.

Okeh pertama ane masuk ke direktori /etc/yum.repos.d/ nah disitu ada beberapa file konfigurasi repositori untuk yum. Nah disinilah kita tambahin konfigurasi untuk repositori dari dvd. Caranya :

# vi dvd.repo
[fedora-dvd]
name=Fedora DVD $releasever – $basearch
baseurl=file:///media/DVD1-IL082008/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY
ESC
:wq

Nah terus ubah option enabled=1 menjadi enabled=0 pada file yang ada di direktori /etc/yum.repos.d/. Inget yang dvd.repo option enabled-nya diaktifin [=1].

Times to try…
# yum install OpenOffice.org-writer.x.xx.xxx

Sip, udah keinstal tuh OpenOffice-Writenya… Ane buka tuh tutorialnya, langsung praktek… Alhamdulillah dalam waktu 1 jam sudah selesai bikin mail server dan semua lancar [seperti yang om dedyeuy perkirakan, xixixi]. Hmmm, rokok udah abis, kopi tinggal ampas, waktu tidur telah tiba. Tinggal pehamannya diperdalam, nanti tapi, tidur dulu…

# 01:56 Zzzz.. zzz.. zzz…

Repository From FC9 DVD Installation