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.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
- Buka website resmi: https://rclone.org/downloads/
- Download versi Windows (ZIP atau installer
.exe
) - Ekstrak (jika ZIP), lalu buka terminal (CMD atau PowerShell) di folder hasil ekstrak
- Jalankan perintah:
rclone authorize "onedrive"
Login melalui browser saat diminta. - 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:
- Di PC lokal, buka terminal dan jalankan:
rclone authorize "onedrive"
- Login ke akun Microsoft via browser
- Terminal akan mencetak JSON token seperti ini:
{"access_token":"eyJ0eXAiOiJKV1QiLCJ...","expiry":"2025-06-11T06:39:52.9158167+07:00"}
- Salin seluruh isi JSON dari
{
hingga}
- 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
- 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.id/backup.sh
Isi:
#!/bin/bash
# Variabel
DATE=$(date +"%Y-%m-%d_%H-%M")
PROJECT_DIR="/home/andika/www.masdika.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.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.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.

Mau bikin website WordPress super cepat, aman, dan bisa di-scale di Kubernetes? ๐ก Artikel ini akan membahas langkah demi langkah…

MinIO adalah solusi penyimpanan objek berbasis S3 yang ringan dan cepat. Cocok untuk digunakan sebagai object storage pribadi, backup, maupun…
Wah thanks tips nya mas
Siap, sama sama. Semoga bermanfaat