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 OneDrive dengan Rclone di Ubuntu Server

June 11, 2025 Tutorial by Masdika.BIZ.ID
Panduan Lengkap Backup WordPress Otomatis ke OneDrive dengan Rclone di Ubuntu Server

Backup otomatis website WordPress yang dijalankan melalui Docker (FrankenPHP + Caddy) ke OneDrive menggunakan rclone di Ubuntu Server 24.04 atau 25.04.

๐Ÿงฐ Persiapan

Struktur Project WordPress

Misalnya:

/home/andika/www.masdika.biz.id/
โ”œโ”€โ”€ wordpress/
โ”œโ”€โ”€ data/
โ”œโ”€โ”€ backup/ โ† (tidak dipakai jika langsung ke OneDrive)
โ”œโ”€โ”€ docker-compose.yml
โ”œโ”€โ”€ Dockerfile
โ”œโ”€โ”€ Caddyfile
โ”œโ”€โ”€ my.cnf

Informasi Tambahan:

  • MySQL container name: wordpress-frankenphp-mysql
  • MySQL DB name: db_wordpress
  • MySQL user: user
  • MySQL password: password

๐Ÿ’ป Instalasi Rclone

Di Ubuntu Server

sudo apt update
sudo apt install rclone -y

Verifikasi:

rclone version

Di PC Lokal Windows

  1. Buka website resmi: https://rclone.org/downloads/
  2. Download versi Windows (ZIP atau installer .exe)
  3. Ekstrak (jika ZIP), lalu buka terminal (CMD atau PowerShell) di folder hasil ekstrak
  4. Jalankan perintah: rclone authorize "onedrive" Login melalui browser saat diminta.
  5. Setelah login, terminal akan mencetak JSON token:
{"access_token":"eyJ0eXAiOiJKV1QiLCJ...","expiry":"2025-06-11T06:39:52.9158167+07:00"}

๐Ÿ” Otorisasi OneDrive via Windows PC

Karena Ubuntu Server tidak memiliki GUI browser, lakukan langkah berikut dari PC Windows/Linux yang memiliki browser:

  1. Di PC lokal, buka terminal dan jalankan: rclone authorize "onedrive"
  2. Login ke akun Microsoft via browser
  3. Terminal akan mencetak JSON token seperti ini: {"access_token":"eyJ0eXAiOiJKV1QiLCJ...","expiry":"2025-06-11T06:39:52.9158167+07:00"}
  4. Salin seluruh isi JSON dari { hingga }
  5. Di Ubuntu Server, jalankan: rclone config Ikuti:
    • n โ†’ New remote
    • Name: onedrive
    • Storage: ketik onedrive
    • client_id: ENTER
    • client_secret: ENTER
    • region: 1 (OneDrive Personal)
    • config_type: 1 (Drive)
    • token: saat muncul config_token> โ†’ paste isi JSON dari PC lokal tadi
    • Advanced config: n
    • Auto config: n
    • Done
  6. Cek remote: rclone lsd onedrive:

๐Ÿ”— Mount OneDrive Secara Otomatis

1. Buat Mount Point

sudo mkdir -p /mnt/ondrive

2. Buat Service Systemd

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

Isi:

[Unit]
Description=Rclone Mount for OneDrive
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
ExecStart=/usr/bin/rclone mount onedrive: /mnt/ondrive \
  --vfs-cache-mode writes \
  --log-level DEBUG \
  --umask 002 \
  --allow-other \
  --allow-non-empty
Restart=on-failure
User=root
Group=root

[Install]
WantedBy=default.target

Aktifkan service:

sudo systemctl daemon-reload
sudo systemctl enable rclone-onedrive.service
sudo systemctl start rclone-onedrive.service

Verifikasi:

sudo systemctl status rclone-onedrive.service

๐Ÿงพ Script Backup Otomatis

Buat File backup.sh

sudo nano /home/andika/www.masdika.biz.id/backup.sh

Isi:

#!/bin/bash

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

# Buat folder backup di OneDrive kalau belum ada
mkdir -p "$BACKUP_DIR"

# Dump database
docker exec $DB_CONTAINER mysqldump -u$DB_USER -p$DB_PASS $DB_NAME > "$BACKUP_DIR/${BACKUP_NAME}_db.sql"

# Kompres semua ke file ZIP langsung di OneDrive
zip -r "$BACKUP_DIR/${BACKUP_NAME}.zip" \
    "$PROJECT_DIR/wordpress" \
    "$PROJECT_DIR/data" \
    "$PROJECT_DIR/docker-compose.yml" \
    "$PROJECT_DIR/Dockerfile" \
    "$PROJECT_DIR/Caddyfile" \
    "$PROJECT_DIR/my.cnf" \
    "$BACKUP_DIR/${BACKUP_NAME}_db.sql"

# Hapus file .sql setelah dikompres
rm "$BACKUP_DIR/${BACKUP_NAME}_db.sql"

Beri izin eksekusi:

chmod +x /home/andika/www.masdika.biz.id/backup.sh

โฐ Menjadwalkan Backup Otomatis via Cron

Edit cron root:

sudo crontab -e

Tambahkan (backup tiap hari jam 2 pagi):

0 2 * * * /home/andika/www.masdika.biz.id/backup.sh >> /var/log/backup.log 2>&1

โœ… Penutup

Backup WordPress Anda sekarang otomatis tersimpan ke OneDrive setiap hari. File tersimpan aman di /mnt/ondrive/BACKUP MASDIKA.BIZ.ID. Anda juga bisa membuka langsung dari akun OneDrive Anda.

Share:
Tags: onedrivercloneubuntuwordpress

Post navigation

Prev
Next
2 Comments
  • Ferdi 1:43 pm June 11, 2025 Reply

    Wah thanks tips nya mas

    • Masdika.BIZ.ID 1:44 pm June 11, 2025 Reply

      Siap, sama sama. Semoga bermanfaat

Write a comment Cancel Reply

ยฉ 2025 www.masdika.biz.id โ€” Semua Hak Dilindungi