Masdika Loading..
Masdika.BIZ.ID

DevOps Engineer

Cloud Engineer

System Administrator

  • Home
  • Portofolio
  • Services
  • Resume
  • Skills
  • Blog
  • Contact
Masdika.BIZ.ID

DevOps Engineer

Cloud Engineer

System Administrator

Download CV

Recent Posts

  • Cara Deploy WordPress di Kubernetes Lengkap dengan SSL Let’s Encrypt
  • Panduan Lengkap Install MetalLB di Kubernetes (VPS/Bare Metal) dengan IP Publik
  • Panduan Lengkap Deploy Ingress NGINX dan Cert-Manager Kubernetes dengan HTTPS Otomatis (Let’s Encrypt)
  • Cara Install Kubernetes dengan Ansible di 2 Server (Master dan Worker)
  • Monitoring Docker Container dengan CAdvisor, Node Exporter, Prometheus, dan Grafana

Recent Comments

  1. Masdika.BIZ.ID on Cara Install Kubernetes dengan Ansible di 2 Server (Master dan Worker)
  2. wwqqs on Cara Install Kubernetes dengan Ansible di 2 Server (Master dan Worker)
  3. Rio Ardiansyah on Panduan Lengkap Redis Docker untuk WordPress
  4. Masdika.BIZ.ID on Cara Monitoring Status Disk RAID di Server Dell Menggunakan Bash Script dan PercCLI
  5. fafiki on Cara Monitoring Status Disk RAID di Server Dell Menggunakan Bash Script dan PercCLI

Archives

  • July 2025
  • June 2025

Categories

  • Tutorial

Masddika.BIZ.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.BIZ.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.biz.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.BIZ.ID

3. Script Backup Otomatis ๐Ÿ’ป

Backup ini mencakup:

  • File-file penting WordPress dan Docker di direktori /home/andika/www.masdika.biz.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.biz.id"
TMP_DIR="/tmp"
BACKUP_DIR="gdrive:MASDIKA.BIZ.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

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.biz.id โ€” Semua Hak Dilindungi