Secara standard, cyber panel belum menyediakan setting backup ke gogle drive seperti halnya cpanel. Sehingga, agar tetap bisa menngunakan backup ke google drive, kita perlu untuk membuatkan scrpt secara manual dan di pasang di server. setelah itu baru di jalankan perintah cronjob, agar proses backup terjadi secara periodik.

Script untuk Upload CyberPanel ke Google Drive

agar server dapat melakukan backup ke google drive, kita harus membuat scriptnya terlebih dahulu. Berikut langkah-langkahnya:

  • Silahkan login ke root server anda
  • Setelah login silahkan masuk ke directory tertentu untuk membuat script backup nya. Dalam hal ini, kami contohkan lokasi membuat script nya di folder /home/scriptbackup
  • silahkan buat file untuk membuat perintah backup, misal backup.sh dengan menjalankan perintah berikut:
nano backup.sh
  • Setelah itu, silahkan masukkan script untuk backup dan upload ke google drive berikut:
#!/bin/bash
# This script takes CyberPanel backups and upload to the Google Drive
# gdrive script is adopted from https://github.com/prasmussen/gdrive
# Author : Arun D
# Rev : 1.0
# Checking whether the gdrive is already installed
if [ ! -e /usr/local/bin/gdrive ]
then
echo "gdrive not found. Installing it"
wget -O gdrive "https://docs.google.com/uc?id=0B3X9GlR6EmbnQ0FtZmJJUXEyRTA&export=download"
wait
sudo install gdrive /usr/local/bin/gdrive
wait
fi
echo "gdrive installed and linked to your account"
# G_ID is the Google Drive Directory ID. To get it, go to the directory created or add a new one. The GID is the random string found at the end of the URL.
# Variables :-
DATE="$(date +%Y-%m-%d)"
G_ID="1J5XXXXXXXX-YhgXXXXXXXXXXXXXXjDANC"
BACKUP_DIR="/home/backups"
echo " Continuing with the backup generation"
echo "------------------------------------------"
echo $DATE
# Deleteing old backups and Journal Files and create fresh temporary backup directory
rm -rf /home/*/backup/* /var/log/journal/*/*.journal $BACKUP_DIR && mkdir -p "$BACKUP_DIR/$DATE"
wait
# Executing a new CyberPanel's Local Backup Script instance
echo "Calling CybperPanel Backup Script to execute"
python /usr/local/CyberCP/plogical/backupScheduleLocal.py
wait
# Copying tar.gz backup files from the default backup location to the script's backup location
echo "Copying tar.gz files to Backup Directory"
mv /home/*/backup/*.tar.gz "$BACKUP_DIR/$DATE"
wait
echo $(cd $BACKUP_DIR/$DATE && ls -A | wc -l) files in the backup directory
# Upload backup files to Directory with ID provided
echo "Uploading Backup tar files to Google Drive"
/usr/local/bin/gdrive upload --recursive --parent $G_ID $BACKUP_DIR/$DATE
wait
# Remove backup directory to avoid confusions
echo "Removing temporary backup directory created"
rm -rf $BACKUP_DIR
wait
echo " Backups are uploaded to your GDRIVE!!!"
sleep 5
exit

Pada Bagian G_ID=”1J5XXXXXXXX-YhgXXXXXXXXXXXXXXjDANC”, tulisan 1J5XXXXXXXX-YhgXXXXXXXXXXXXXXjDANC silahkan ganti dengan ID google drive anda. Anda bisa mendapatkan dengan cara login dahulu di google drive, setelah itu buat directory untuk penympanan backup dan masuk di directory nya. nanti di bagian URL bagian atas akan ada ID yang di maksud.

  • Buat perintah cronjob dengan menjalankan perintah:
crontab -e
  • Silahkan masukkan perintah cronjob berikut ( misal di buat backup setiap jam 1 pagi)
0 1 * * * /bin/sh /home/scriptbackup/backup.sh
  • Sampai proses ini, proses ini sudah selesai. Tapi untuk pertama kali, kita perlu mengkubungkan server dengan gogle drive dengan cara jalankan perintah /bin/sh /home/scriptbackup/backup.sh dan nanti akan ada kode verifikasi yang perlu di masukkan
  • Selamat mencoba.