The Intro

Sebelumnya kita sudah mencoba membackup schema oracle menggunakan exp. Kita bisa memanfaatkannya untuk membuat sebuah sistem penjadwalan yang secara otomatis membackup schema tersebut pada waktu yang telah ditentukan. Tool yang digunakan selain Shell dan exp juga crontab. Crontab merupakan aplikasi penjadwalan di mesin Unix dan Linux. Crontab bekerja sebagai daemon atau service cron yang setiap waktu akan mengecek apakah ada job atau tugas yang harus dilakukan pada waktu itu. Crontab menyimpan entri untuk setiap penjadwalan seperti ini:

* * * * * /home/alam/someScript.sh

Kolom pertama menunjukan menit dimana entri tersebut akan dijalankan. Kolom kedua untuk jam, kolom ketiga untuk tanggal, kolom keempat untuk bulan, kolom kelima untuk untuk hari, dan kolom terakhir menunjukan perintah apa yang akan dijalankan. Dari contoh diatas berarti setiap menit, setiap hari, setiap bulan cron akan menjalankan script tersebut. Pertama-tama kita buat dulu script sederhana, train-backup.sh yang berfungsi untuk membackup schema tersebut. Script tersebut akan membackup schema-nya di directory yang sudah ditentukan dengan nama file yang berbeda berdasarkan kapan schema tersebut dibackup.

The Script
#!/bin/sh
#script to backup oracle schema based on time when it saved
#initializing variables
export PATH=$PATH:/app/oracle/product/10.2/bin
export ORACLE_BASE=/app/oracle
export ORACLE_HOME=/app/oracle/product/10.2
export ORACLE_SID=neuron
export BASEDIR=$HOME/train-backup
export DTM=`date +%Y%m%d-%H%M%S`
export UNAME=train
export PASSWD=train
export FILENAME=train
 
# command section
cd $BASEDIR
exp $UNAME/$PASSWD file=$FILENAME-$DTM.dmp
 
exit

Jangan lupa beri execute permission dengan:

alam@NeuronServer:~> chmod +x train-backup.sh

Script-nya cukup sederhana kan? Yang perlu dilakukan hanyalah inisialisasi variabel:

export PATH=$PATH:/app/oracle/product/10.2/bin
export ORACLE_BASE=/app/oracle
export ORACLE_HOME=/app/oracle/product/10.2
export ORACLE_SID=neuron
export BASEDIR=$HOME/train-backup
export DTM=`date +%Y%m%d-%H%M%S`
export UNAME=train
export PASSWD=train
export FILENAME=train

dan perintah backup More >