-
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!