-
19
Apr
Sebagai Admin sebuah server sudah sewajarnya jika kita membuat backup database yang ada di server kita secara automatis. Untuk ini berikut akan saya sampaikan cara untuk membuat script backup PostgreSQL secara automatis dengan operating system under linux dan langsung mengirimkannya ke sever backup dengan metode ftp.
1. Buat dahulu sebuah file applikasi yang dapat kita eksekusi.
[root@maulana]#touch /home/Maulana/pgsql_backup.sh
2. Buka file tersebut dan isikan dengan script dibawah ini.
[root@maulana]#vim /home/Maulana/pgsql_backup.sh
#===================
#!/bin/bash
#SCRIPTOR By MAULANA
#===================
BACKUP_DIR="/home/Maulana"
PGHOST="localhost" #PostgreSQL Host
PGUSER="postgres" #PostgreSQL User
date="$(date +%Y%m%d)"
jam="$(date +%H%M%S)"
FTPD="/pgsql" #FTP Direktori
FTPU="pgsql" #FTP User
FTPP="12345" #FTP Password
FTPS="192.168.5.4" #FTP Server
files=$BACKUP_DIR/$date
if [ -d $files ];
then
#rm -rf $j
echo Direktori sudah ada, proses akan dilanjutkan
else
echo Direktori backup belum dibuat, proses akan dilanjutkan
fi
mkdir -p $files
LIST="$(psql -h $PGHOST -U $PGUSER -l | awk '{print $1}' | grep -vE '^-|^List|^Name|^[(]|^template[0|1]')"
for db in $LIST
do
FILE="$files/$date.$jam.DB-$db.sql.gz"
echo Backup Database $db For $date Pada Folder $FILE
/usr/bin/pg_dump -h $PGHOST -U $PGUSER $db | gzip -c > $FILE
done
cd $BACKUP_DIR/
ARCHIVE=$date.$jam.gz
ARCHIVED=$date
tar -cvf $ARCHIVE $ARCHIVED
### Dump backup using FTP ###
DUMPFILE=$date.$jam.gz
ftp -n $FTPS <<END_SCRIPT
quote USER $FTPU
quote PASS $FTPP
mkdir $date
cd $FTPD/$date
mput $DUMPFILE
disconnect
close
END_SCRIPT
### Delete the backup dir and keep archive ###
rm -rf $ARCHIVED
###End Script####
3. Edit script ini sesuai konfigurasi database dan ftp server anda.
PGHOST, PGUSER, FTPD, FTPU, FTPP dan FTPS.
Setelah selesai kita membuat file diatas maka tekan Esc + : x, lalu jangan lupa set chmod 700 di file pgsql_backup.sh
[root@maulana]#chmod 700 /home/Maulana/pgsql_backup.sh
Untuk mengeksekusi file tersebut pada waktu-waktu tertentu, maka yang perlu kita lakukan adalah mengkonfigurasi crontab, berikut langkah-langkahnya:
[root@maulana]# crontab -e
Tambahkan :
44 12 * * * /home/Maulana/pgsql_backup.sh
Keterangan:
44 yaitu setiap menit ke 44
12 yaitu setiap jam 12
maka backup akan terjadi setiap hari pada pukul 12:44 siang
- Published by admin in: Database
- If you like this blog please take a second from your precious time and subscribe to my rss feed!











