Backup Otomatis Harian Database & File Web ke Google Drive Menggunakan Rclone (Anti Repot!)

Apps & Web Apps 8 jam yang lalu Administrator 5 Menit membaca 11x Dilihat Play Pause Resume Stop
03f9cf1e25d6e5bfcb491f8982750767.png

Backup Otomatis Harian Database & File Web ke Google Drive Menggunakan Rclone (Anti Repot!)

Daftar Isi

  1. Pendahuluan: Kenapa Rclone Adalah Solusi Backup Terbaik Anda
  2. Prasyarat: Yang Anda Butuhkan
  3. Langkah 1: Setup Rclone & Kredensial Google Drive
  4. Langkah 2: Menyiapkan Folder Backup Database aaPanel
  5. Langkah 3: Membuat Skrip Upload Otomatis (Shell Script)
  6. Langkah 4: Menjadwalkan Upload Harian dengan Cron Job
  7. Penutup & FAQ

1. Pendahuluan: Kenapa Rclone Adalah Solusi Backup Terbaik Anda

Jika Anda menjalankan aplikasi PHP, website, atau custom service di VPS Ubuntu (terutama yang menggunakan antarmuka headless seperti aaPanel atau cPanel), Anda pasti tahu betapa pentingnya backup harian. Namun, melakukan transfer file besar dari VPS ke cloud storage seringkali merepotkan dan membutuhkan intervensi manual.

Rclone adalah tool baris perintah (command line) yang open-source, dirancang untuk menyinkronkan dan menyalin file antara penyimpanan lokal dan berbagai layanan cloud storage, termasuk Google Drive yang menawarkan ruang penyimpanan besar.

Keunggulan Rclone untuk VPS:

  • Headless Ready: Bekerja sempurna di VPS tanpa antarmuka desktop.
  • Keandalan: Mampu melanjutkan (resume) transfer yang terputus.
  • Efisiensi: Menggunakan Client ID Anda sendiri untuk menghindari batas limit API.
  • Fleksibilitas: Mampu bekerja dengan skrip shell dan Cron Job untuk otomatisasi penuh.

2. Prasyarat: Yang Anda Butuhkan

Sebelum memulai, pastikan Anda memiliki:

  • VPS Ubuntu atau distro Linux lain yang sudah berjalan (dengan akses sudo atau root).
  • Rclone sudah terinstal dan terkonfigurasi dengan remote Google Drive Anda (misalnya, diberi nama folderbackup).
  • aaPanel atau metode lain yang sudah membuat backup database harian di jalur tertentu (contoh: /www/backup/database/mysql/crontab_backup/webanda).

3. Langkah 1: Setup Rclone & Kredensial Google Drive

Jika Anda sudah mengikuti panduan sebelumnya, Rclone Anda seharusnya sudah terkonfigurasi dan terotentikasi.

Verifikasi Rclone Remote

Pastikan Rclone Anda terhubung dengan nama remote yang benar (folderbackup):

rclone listremotes

Uji Koneksi dan Path

Uji apakah Rclone dapat melihat folder di Google Drive Anda:

rclone ls folderbackup:

Ini akan menampilkan daftar file/folder di tingkat root Google Drive Anda.


4. Langkah 2: Menyiapkan Folder Backup Database aaPanel

Karena aaPanel sudah menangani pembuatan dump database, kita hanya perlu mengidentifikasi lokasi file tersebut.

Jalur Direktori Backup aaPanel Anda:

Pastikan Anda memiliki jalur yang benar ke folder yang berisi backup terbaru Anda. Berdasarkan kasus Anda:

/www/backup/database/mysql/crontab_backup/webanda

Jalur ini akan kita gunakan sebagai sumber dalam skrip upload Rclone.


5. Langkah 3: Membuat Skrip Upload Otomatis (Shell Script)

Skrip ini hanya akan berfokus pada menyalin file dari disk lokal VPS Anda ke Google Drive dan kemudian membersihkan file lokal yang sudah sangat lama.

Membuat File Skrip

Buat folder untuk skrip Anda dan buat file skrip baru (upload_aapanel_db.sh):

mkdir -p /root/scripts nano /root/scripts/upload_aapanel_db.sh

Isi Skrip (Shell Script)

Salin dan tempel kode berikut:

Catatan: Ganti {folderbackup} dengan nama remote Rclone Anda dan sesuaikan lokasi backup aaPanel jika berbeda.

#!/bin/bash

# =========================================================
# KONFIGURASI 
# =========================================================

# Lokasi folder backup database yang dibuat oleh aaPanel
AAPANEL_BACKUP_DIR="/www/backup/database/mysql/crontab_backup/kumbang"

# Rclone Remote & Folder Tujuan di Google Drive
RCLONE_REMOTE="folderbackup"
REMOTE_FOLDER="webanda"  

# Jaga file lokal: Hapus file lokal yang lebih lama dari X hari (misal: 30 hari)
HAPUS_LOKAL_SETELAH="+30" 

# =========================================================
# JANGAN UBAH BAGIAN DI BAWAH INI
# =========================================================

DATE=$(date +%Y%m%d_%H%M)

echo "Memulai proses upload backup aaPanel pada ${DATE}..."

# 1. Upload semua file baru dari folder aaPanel ke Google Drive
echo "  -> Mengirim file baru dari ${AAPANEL_BACKUP_DIR} ke ${RCLONE_REMOTE}:${REMOTE_FOLDER}..."
# Menggunakan rclone copy: Hanya menyalin file baru/yang diubah.
rclone copy ${AAPANEL_BACKUP_DIR} ${RCLONE_REMOTE}:${REMOTE_FOLDER} --transfers 4 --checkers 8 -v

# 2. Membersihkan File Lokal Lama (Setelah 30 Hari)
echo "  -> Membersihkan file backup lokal aaPanel yang lebih lama dari 30 hari..."
# Perintah find menghapus file yang memiliki waktu modifikasi lebih dari 30 hari
find ${AAPANEL_BACKUP_DIR} -type f -mtime ${HAPUS_LOKAL_SETELAH} -delete

echo "Proses upload backup aaPanel selesai."

Memberikan Izin Eksekusi

Simpan file, lalu berikan izin eksekusi agar skrip dapat dijalankan:

chmod +x /root/scripts/upload_aapanel_db.sh


6. Langkah 4: Menjadwalkan Upload Harian dengan Cron Job

Kita akan menggunakan crontab untuk menjalankan skrip upload ini setiap hari. Jadwalkan 02:30 pagi (setelah backup aaPanel selesai dibuat).

  1. Buka Editor Cron Job:

    crontab -e

  2. Tambahkan Jadwal: Tambahkan baris berikut di bagian akhir file:

    # Jadwal upload backup aaPanel ke Google Drive jam 02:30 AM 30 2 * * * /bin/bash /root/scripts/upload_aapanel_db.sh > /dev/null 2>&1

  3. Simpan dan Keluar: Simpan file dan keluar dari editor. Cron Job Anda sekarang sudah aktif dan otomatis!


7. Penutup & FAQ

Dengan menggunakan kombinasi aaPanel dan Rclone, Anda telah menciptakan sistem backup yang tahan banting, terjadwal, dan anti repot. Data Anda kini diamankan di Google Drive dengan kebijakan retensi 30 hari di VPS untuk menghemat ruang disk lokal.

FAQ Singkat

Pertanyaan Jawaban
Apakah file di Drive bisa terhapus? Tidak, selama Anda menggunakan perintah rclone copy. Perintah ini hanya menyalin file baru, tidak menghapus file lama di tujuan.
Kenapa harus jam 02:30 pagi? Waktu ini diasumsikan sebagai waktu traffic terendah dan memberikan jeda 30 menit setelah cron job aaPanel selesai membuat backup.
Bagaimana cara menguji skrip? Jalankan manual di Terminal: /bin/bash /root/scripts/upload_aapanel_db.sh dan cek Google Drive Anda.

Amankan Data Anda Sekarang dan Nikmati Tidur Nyenyak Tanpa Khawatir Kehilangan Data!

Komentar

Baca Juga

May 23, 2025 • 4x Dilihat
Cara cek pemilik nomor telepon tanpa aplikasi

Pernahkah Anda menerima panggilan dari nomor yang tidak dikenal dan bertanya-tanya siapa pemiliknya? Baik itu…

Apr 02, 2025 • 219x Dilihat
Bangkit dari Libur Lebaran: 7 Peluang Freelance IT yang Menjanjikan di 2025

Bangkit dari Libur Lebaran: 7 Peluang Freelance IT yang Menjanjikan di 2025 - Setelah menikmati…

Jun 04, 2024 • 842x Dilihat
Pembuatan Website Aplikasi Top Up Game dan Pulsa

Pembuatan Website Aplikasi Top Up Game dan Pulsa?- Kami Menyediakan banyak pilihan tampilan dan fitur…