Masdika Loading..
Masdika.ID

DevOps Engineer

Cloud Engineer

System Administrator

  • Home
  • Portfolio
  • Services
  • Resume
  • Skills
  • Blog
  • Contact
Masdika.ID

DevOps Engineer

Cloud Engineer

System Administrator

Download CV

Recent Posts

  • Dari Laptop Bekas Jadi Server Pribadi: Cara Membangun Home Server Murah Menggunakan ISP MyRepublic dengan Public IP
  • Pembuatan Subnet dan Alokasi IP Address pada Amazon Web Service VPC
  • Instalasi dan Konfigurasi AWS CLI pada EC2 (Lab Guide)
  • Membangun Arsitektur Web + Database Highly Available di AWS (RDS Multi-AZ)
  • Cara Reset Password OpenBSD di Proxmox via VNC

Recent Comments

  1. Alif on Jangan Gunakan latest Tag pada Docker Images! Ini Alasannya
  2. Sahrull on Panduan Lengkap Anti-DDoS: Installasi Iptables, Hardening, dan Cloudflare Proxy
  3. VSTRA on Cara Cerdas Menguasai Kubernetes (K8s): Panduan Lengkap Orkestrasi Kontainer untuk Developer Modern
  4. Rikiy on Cara Mudah Deploy Website Node.js Menggunakan Docker
  5. Masdika.BIZ.ID on Disaster Recovery Cluster (DRC) WordPress dengan MariaDB Galera dan Load Balancer Caddy

Categories

  • Tutorial

Masdika.ID

  • About
  • Terms & Conditions
  • Privacy Policy
BLOG POST

Panduan Lengkap Backup WordPress Otomatis ke Google Drive dengan Rclone di Ubuntu Server

June 12, 2025 Tutorial by Masdika.ID
Panduan Lengkap Backup WordPress Otomatis ke Google Drive dengan Rclone di Ubuntu Server

Backup adalah bagian penting dalam pengelolaan website. Dalam panduan ini, Anda akan belajar bagaimana cara melakukan backup otomatis website ke Google Drive menggunakan Rclone, systemd, dan cron di server Linux. Panduan ini ideal untuk Anda yang menjalankan WordPress atau aplikasi berbasis Docker.

Persyaratan ๐Ÿ“‹

  • Akun Google Drive aktif
  • Rclone terinstal di server Linux
  • Browser di komputer lokal (Windows/Linux/macOS) untuk otentikasi Google
  • Website terletak di direktori lokal (contoh: /home/andika/www.masdika.id)
  • Database berjalan dalam container Docker (contohnya MariaDB/MySQL dengan Docker Compose)

1. Instal dan Konfigurasi Rclone ๐Ÿ“ฆ

a. Instalasi Rclone

sudo apt update
sudo apt install rclone -y

b. Konfigurasi Remote Google Drive ๐Ÿงฉ

  1. Jalankan perintah konfigurasi: rclone config
  2. Pilih n untuk membuat konfigurasi baru.
  3. Masukkan nama remote: gdrive
  4. Pilih penyimpanan: drive (Google Drive)
  5. Kosongkan client_id dan client_secret (kecuali Anda ingin pakai OAuth pribadi)
  6. Pilih scope 1 untuk akses penuh
  7. Jawab n untuk advanced config
  8. Saat diminta URL, salin URL dan buka di browser komputer lokal (Windows) untuk login dan otorisasi akun Google Anda
  9. Setelah login, salin kode verifikasi ke terminal Linux Anda
  10. Pilih y untuk menyimpan konfigurasi

Setelah selesai, Anda dapat memverifikasi koneksi:

rclone lsd gdrive:

2. Buat Folder Backup di Google Drive ๐Ÿ“

Untuk merapikan struktur penyimpanan:

rclone mkdir gdrive:MASDIKA.ID

3. Script Backup Otomatis ๐Ÿ’ป

Backup ini mencakup:

  • File-file penting WordPress dan Docker di direktori /home/andika/www.masdika.id
  • Database MySQL yang berjalan dalam container Docker
  • File hasil backup dikompres dalam format ZIP

Buat file skrip baru:

sudo nano /usr/local/bin/backup-masdika.sh

Isi dengan:

#!/bin/bash

# Variabel
DATE=$(date +"%Y-%m-%d_%H-%M")
PROJECT_DIR="/home/andika/www.masdika.id"
TMP_DIR="/tmp"
BACKUP_DIR="gdrive:MASDIKA.ID"
BACKUP_NAME="backup_$DATE"
DB_CONTAINER="wordpress-frankenphp-mysql"
DB_NAME="db_wordpress"
DB_USER="user"
DB_PASS="password"

# Lokasi sementara
SQL_FILE="$TMP_DIR/${BACKUP_NAME}_db.sql"
ZIP_FILE="$TMP_DIR/${BACKUP_NAME}.zip"

echo "[INFO] Membuat backup database..."
docker exec $DB_CONTAINER mysqldump -u$DB_USER -p$DB_PASS $DB_NAME > "$SQL_FILE"

echo "[INFO] Mengarsipkan file ke ZIP..."
zip -r "$ZIP_FILE" \
    "$PROJECT_DIR/wordpress" \
    "$PROJECT_DIR/data" \
    "$PROJECT_DIR/docker-compose.yml" \
    "$PROJECT_DIR/Dockerfile" \
    "$PROJECT_DIR/Caddyfile" \
    "$PROJECT_DIR/my.cnf" \
    "$SQL_FILE"

echo "[INFO] Mengupload ke Google Drive..."
rclone copy "$ZIP_FILE" "$BACKUP_DIR" --transfers=4 --progress

echo "[INFO] Membersihkan file sementara..."
rm "$SQL_FILE" "$ZIP_FILE"

echo "[SELESAI] Backup selesai: $BACKUP_NAME.zip"

Lalu beri izin eksekusi:

chmod +x /usr/local/bin/backup-masdika.sh

4. Systemd Service Mount Google Drive ๐Ÿ”—

Buat unit file systemd:

sudo nano /etc/systemd/system/rclone-gdrive.service

Isi dengan:

[Unit]
Description=Mount Google Drive (rclone) to /mnt/gdrive
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
ExecStart=/usr/bin/rclone mount gdrive: /mnt/gdrive \
  --config=/root/.config/rclone/rclone.conf \
  --vfs-cache-mode=writes \
  --vfs-cache-max-size=100M \
  --dir-cache-time=72h \
  --poll-interval=15s \
  --umask=002 \
  --allow-other
Restart=on-failure
RestartSec=10

[Install]
WantedBy=default.target

Aktifkan service:

sudo systemctl daemon-reload
sudo systemctl enable rclone-gdrive
sudo systemctl start rclone-gdrive

Pastikan mount berhasil:

systemctl status rclone-gdrive

5. Jalankan Manual untuk Uji Coba ๐Ÿงช

backup-masdika.sh

Periksa apakah file ZIP muncul di Google Drive Anda.

6. Menjadwalkan Backup Otomatis Harian ๐Ÿ•‘

Edit crontab:

crontab -e

Tambahkan baris berikut untuk menjadwalkan backup setiap jam 2 pagi:

0 2 * * * /usr/local/bin/backup-masdika.sh >> /var/log/backup-masdika.log 2>&1

Tips untuk File Backup Besar ๐Ÿ“ฆ

  • Gunakan opsi --transfers=4 untuk paralel upload
  • Kompres ke ZIP dahulu sebelum mengupload untuk efisiensi
  • Gunakan direktori /tmp untuk penyimpanan sementara agar lebih cepat

Dengan langkah ini, Anda telah memiliki sistem backup otomatis ke Google Drive yang aman dan efisien ๐Ÿ’ช. Sangat cocok untuk proyek berbasis Docker seperti WordPress dengan FrankenPHP. Jangan lupa untuk sesekali cek hasil backup Anda agar selalu up to date. ๐Ÿš€

Selamat mencoba! ๐ŸŽ‰

Share:
Tags: dockerdrivercloneubuntu
Related Posts
Panduan Lengkap Cloud-Init Ubuntu di Proxmox (Production Ready)

Kalau kamu sudah cukup lama pakai Proxmox, biasanya akan sampai di satu fase: bikin VM itu kok masih ribet dan…

VM vs Container vs Pod – Perbedaan Lengkap untuk Cloud & DevOps!

Dalam dunia Cloud Computing dan DevOps, tiga istilah yang paling sering kita dengar adalah Virtual Machine (VM), Container, dan Pod….

Post navigation

Prev
Next
1 Comment
  • Alvian 10:48 am June 13, 2025 Reply

    Thankyou mas, udah berbagi.

Write a comment Cancel Reply


ยฉ 2025 www.masdika.id โ€” Semua hak cipta dilindungi