Setup Google Drive API Credentials
Sebelum install rclone, kita kena setup dulu Google Project kat Google API Console. Kalau ko dah ada client_id dan client_secret, skip terus ke bahagian rclone setup.
Satu benda aku nak clarify: setup ni untuk non-GSuite user. Kalau ko guna Google Workspace, flow dia sedikit berbeza.
Satu lagi requirement sebelum mulakan: ko perlukan satu Linux Desktop (Ubuntu, Raspberry Pi, atau macOS pun okay) yang ada browser. Ini sebab rclone perlu launch browser masa generate token nanti.
Buat Google Drive Client ID
- Log in ke Google API Console. Boleh guna mana-mana Google account.
- Pilih project sedia ada atau create project baru.
- Pergi ke ENABLE APIS AND SERVICES, search Drive, enable Google Drive API.
- Click Credentials kat left panel, lepas tu click Create credentials.
- Kalau belum setup OAuth Consent Screen, click CONFIGURE CONSENT SCREEN. Pilih External, then CREATE.
- Isi:
- Application name:
rclonepun okay - User Support Email: email sendiri
- Developer Contact Email: email sendiri
- Application name:
- Tambah scopes yang diperlukan:
.../auth/docs.../auth/drive.../auth/drive.metadata.readonly(optional tapi recommended)
- Click Save and continue, lepas tu pergi bahagian Test users. Tambah email sendiri sebagai test user.
- Lepas save, balik ke Credentials kat left panel.
- Click Create Credentials lagi, pilih OAuth client ID.
- Pilih application type: Desktop app.
- Click Create. Copy
client_iddanclient_secretyang keluar.
Install rclone
Kat CentOS7 (headless server):
curl https://rclone.org/install.sh | sudo bash
Verify install:
rclone version
Configure rclone Remote
Run command ni kat server:
rclone config
Lepas tu ikut prompt:
- Taip
nuntuk new remote. - Bagi nama, contoh:
gdrive. - Pilih storage type: taip nombor untuk Google Drive.
- Masukkan
client_iddanclient_secretyang ko dapat tadi. - Scope: pilih
1(full access). - Root folder ID dan Service Account: tekan Enter untuk skip.
- Advanced config: taip
n. - Auto config: taip
nsebab kita guna headless server.
Bila auto config ditolak, rclone akan bagi satu URL panjang. Copy URL tu.
Generate Token Guna Linux Desktop
Kat Linux Desktop (bukan server), install rclone dulu sama macam atas. Lepas tu run:
rclone authorize "drive" "CLIENT_ID" "CLIENT_SECRET"
Browser akan terbuka. Login Google account, bagi permission. Lepas tu rclone akan print token dalam terminal. Copy token tu.
Balik ke server, paste token tu bila diminta. Lepas confirm, remote gdrive dah ready.
Test Connection
rclone lsd gdrive:
Kalau keluar list folder dalam Google Drive, connection okay.
Setup Backup Script
Buat script mudah untuk backup:
#!/bin/bash
BACKUP_DIR="/path/to/backup"
DESTINATION="gdrive:backups/centos7"
DATE=$(date +%Y-%m-%d)
rclone sync $BACKUP_DIR $DESTINATION/$DATE --log-file=/var/log/rclone-backup.log
Save sebagai /usr/local/bin/gdrive-backup.sh, lepas tu bagi execute permission:
chmod +x /usr/local/bin/gdrive-backup.sh
Schedule Guna Cron
crontab -e
Tambah baris ni untuk backup setiap hari pukul 2 pagi:
0 2 * * * /usr/local/bin/gdrive-backup.sh
Verify Backup
Semak apa yang dah ter-upload:
rclone ls gdrive:backups/centos7
Semak log kalau ada issue:
tail -f /var/log/rclone-backup.log
Setup ni straightforward. Google Drive storage yang dah subscribe tu dapat digunakan sepenuhnya, tak buang duit je.