Halaman

Rabu, 25 April 2018

VestaCP File Backup upload automatically to google Drive

VestaCP Login

gdrive

Vesta Control Panel biasanya diinstall di VPS, atau server fisik. Salah satu fasilitas yang ane anggap ciamik, dia punya feature auto backup ke local disk.
Ga cuma backup file web aja, tapi juga DNS Zone, Email akun beserta isinya, database, user right(Privilage), sampai ke log nya.


Masalahnya, ane pernah bro ngalamin salah satu vps eror, ngilang entah kemana. Si owner nya nyang jual VPS so pasti ga tanggung jawab atas kehilangan data pelanggannya. Karna memang sudah tertera di Term of Service nya. Karna mereka memang nyediain fasilitas backup VPS yg harganya bisa 2x lipat harga vps nya.

So ane bikin dikit2 nih auto backup dari VestaCP ke google drive secara otomatis.

Pertama, kita install dulu tool CLI nya google drive. 
wget -O drive https://drive.google.com/uc?id=0B3X9GlR6EmbnMHBMVWtKaEZXdDgmv drive /usr/sbin/drivechmod 755 /usr/sbin/drive


Btw tool ini bukan untuk singkronisasi ya... cuma tool upload dowload file dari g drive aja, menggunakan OAuth2.

Kalau sudah selesai ketik perintah : $drive

nanti akan muncul pemberitahuan untuk masukkin token dari g-drive kayak gini :
Go to the following link in your browser:  https://accounts.google.com/o/oauth2/auth?client_id=123456789123-7n0vf5akeru7on6o2fjinrecpdoe99eg.apps.googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive&state=state
Enter verification code: (Paste disini kode verifikasinya setelah klik link diatas)


Sekarang kita bikin file buat backup script nya :
~$ sudo nano /usr/local/vesta/bin/backup.sh

Isinya :

#!/bin/bash
# info: backup system user with all its objects
# options: USER NOTIFY
#
# The call is used for backing up user with all its domains and databases.
#----------------------------------------------------------#
#                    Variable&Function                     #
#----------------------------------------------------------#

# Importing system variables
source /etc/profile

# Argument definition
user=$1
notify=${2-no}

# Includes
source $VESTA/func/main.sh
source $VESTA/func/domain.sh
source $VESTA/func/db.sh
source $VESTA/conf/vesta.conf


#----------------------------------------------------------#
#                    Verifications                         #
#----------------------------------------------------------#
check_args '1' "$#" 'USER [NOTIFY]'
is_format_valid 'user'
is_system_enabled "$BACKUP_SYSTEM" 'BACKUP_SYSTEM'
is_object_valid 'user' 'USER' "$user"
is_object_unsuspended 'user' 'USER' "$user"
is_backup_enabled
#----------------------------------------------------------#
#                       Action                             #
#----------------------------------------------------------#

# start upload user files backup
UF="$user.$(date '+%Y-%m-%d')"
FILE=$(find /backup -maxdepth 1 -name "*$UF*")
#echo $FILE
drive upload --file $FILE

# Logging
#log_event


exit

ga perlu dijelasin perbaris, kode ini masih dalam pengembangan.

simpan.

Lalu kita bikin cron job di Vesta Panel, klik menu CRON klik tombol (+) Add Cron Job
isi command dengan :
sudo /usr/local/vesta/bin/backup {VESTA_USER}
atur durasi cron (contoh tiap 3 hari sekali jam 00:01) 
pada tabel sebelah kanan ada generator nya. sesuaikan aja, lalu klik generate.
Lalu simpan
VestaCP_Cron

SELESAI....
Sok lah dikembangin sendiri, sesuikan dengan imajinasi anda....
ngantuk gue

Tidak ada komentar:

Posting Komentar