Tutorial Backup database dan source code pada VPS anda menggunakan shell script

backup adalah hal yang sangat penting jika anda merasa file/data anda berharga.
terdapat berbagai mancam cara metod untuk melakukan backup.
salahsatunya adalah dapat dilihat pada knwoledgebase kami di:
https://www.natanetwork.com/portal/knowledgebase/44/Backup-file-kedalam-cloud-storage.html

Tutorial Backup Database PostgreSQL

untuk hal ini, silahkan buat shell script dengan nama backup_script.sh (ketik vim backup_script.sh)

#!/bin/bash
# Location to place backups.
backup_dir="/home/globalway/Dropbox/"
#String to append to the name of the backup files
backup_date=`date +%d-%m-%Y`
#Numbers of days you want to keep copie of your databases
number_of_days=30
databases=`PGPASSWORD="xxxxx" psql -l -t -U 'xxxx' | cut -d'|' -f1 | sed -e 's/ //g' -e '/^$/d'`
for i in $databases; do
if [ "$i" == "prpo_production" ]; then
echo Dumping $i to $backup_dir$i\_$backup_date
PGPASSWORD="xxxxx" pg_dump -Fc -U 'xxxx' $i > $backup_dir$i\_$backup_date
fi
done
find $backup_dir -type f -prune -mtime +$number_of_days -exec rm -f {} \;


pastikan anda menyesuaikan dan mengganti tulisan yang tebal. script diatas akan melakukan / menyimpan backup 30 hari terakhir saja.

backup_dir : tempat dimana file database akan disimpan
PGPASSWORD : password user database
-U : username database yang digunakan
number_of_days : di isi bebas, default adalah 30 hari yang artinya script akan melakukan backup 30 hari terakhir saja, selebihnya akan terhapus otomatis.

setelah backup_script.sh tersimpan pada /root/backup_script.sh
hal selanjutnya adalah membuat cronjob agar file backup selalu di running setiap hari.
ketik crontab -e dan masukan syntax dibawah ini

0 18 * * * /root/backup_script.sh  >> /root/cron.log 2>&1

maka backup_script.sh akan running setiap hari pada pukul 6 malam. untuk log nya bisa dilihat di /root/cron.log

Tutorial Backup Database MySQL / MariaDB

silahkan buat shell script dengan nama backup_script.sh (ketik vim backup_script.sh)

#!/bin/sh
now="$(date +'%d_%m_%Y_%H_%M_%S')"
filename="db_backup_$now".gz
backupfolder="/root/database"
fullpathbackupfile="$backupfolder/$filename"
logfile="$backupfolder/"backup_log_"$(date +'%Y_%m')".txt
echo "mysqldump started at $(date +'%d-%m-%Y %H:%M:%S')" >> "$logfile"
mysqldump --user=root --password=xxxx --default-character-set=utf8 nama_database | gzip > "$fullpathbackupfile"
echo "mysqldump finished at $(date +'%d-%m-%Y %H:%M:%S')" >> "$logfile"
chown root "$fullpathbackupfile"
chown root "$logfile"
echo "file permission changed" >> "$logfile"
find "$backupfolder" -name db_backup_* -mtime +8 -exec rm {} \;
echo "old files deleted" >> "$logfile"
echo "operation finished at $(date +'%d-%m-%Y %H:%M:%S')" >> "$logfile"
echo "*****************" >> "$logfile"
exit 0


tulisan tebal silahkan disesuaikan dengan kondisi vps masing-masing termasuk user dan passwordnya.
script diatas akan menyimpan database yg terbakup selama kurang lbh 10 hari kebelakang, selebihnya akan terhapus otomatis.

letakan backup_script.sh pada /root/backup_script.sh
buatlah cronjob untuk running script diatas setiap hari dengan cara ketik crontab -e dan masukan syntax dibawah ini:


0 0 * * * /root/backup_script.sh >> /root/backup_database.log 2>&1

maka script tersebut akan di running setiap hari pukul 00:00, untuk log dapat dilihat di /root/backup_database.log

  • backup vps
  • 0 Users Found This Useful
Was this answer helpful?

Related Articles

Transfer Full Backup dari Server Lama ke Server Baru

Ada beberapa cara untuk melakukan perpindahan file hosting dari server lama ke server baru 1....

Add User and Privileges into a Database(s)

Didalam pembuatan database mysql / posgresql, terdapat user dan password yang memiliki akses...

Enable Remote Database on cPanel

Remote database hanya berlaku pada Mysql.Dalam hal ini terdapat beberapa langkah untuk melakukan...

Install Wordpress di VPS menggunakan ssh akses

Untuk menginstall wordpress di VPS tidaklah semudah di cpanel/shared hosting.maka dari itu...

Login kedalam Panel VPS Natanetwork

Untuk para pelanggan VPS server Indonesia, Singapore & USA, anda dapat melihat panel VPS pada...

Powered by WHMCompleteSolution