Ga naar inhoud

☁️ Hoofdstuk 47: Rclone (Cloud Sync)

Rclone is een commandline-tool om bestanden te synchroniseren met >40 cloud-providers (Google Drive, OneDrive, Dropbox, S3, Azure, etc.).
Ideaal voor (versleutelde) back-ups, migraties en het mounten van cloudopslag als lokaal bestandssysteem.


πŸ“₯ Installatie / Update / Verwijderen

# Installeren (repo-versie)
sudo apt update
sudo apt install rclone

# Nieuwste officiΓ«le build (aanbevolen)
curl -fsSL https://rclone.org/install.sh | sudo bash

# Verwijderen
sudo apt remove rclone        # of: sudo apt purge rclone

# Versie check
rclone version

βš™οΈ Configuratie

Rclone bewaart remotes in:

~/.config/rclone/rclone.conf   # voor de huidige gebruiker
/root/.config/rclone/rclone.conf  # voor root/systemd-services
Zorg voor juiste rechten:
chmod 600 ~/.config/rclone/rclone.conf

Interactieve configuratie

rclone config
Stappen: n (nieuw) β†’ naam (bv. gdrive) β†’ provider (bv. Google Drive) β†’ authenticatie volgen.

Niet-interactief (voorbeeld)

# Google Drive readonly
rclone config create gdrive drive scope drive.readonly

# Amazon S3 (omgevingsvariabelen gebruiken)
rclone config create s3 s3 provider AWS env_auth true region eu-west-1

# Versleutelde remote bovenop gdrive:/backup
rclone config create secret crypt remote=gdrive:/backup password-command="pass show rclone/gdrive"

▢️ Gebruik

# Bestanden kopiΓ«ren (voegt toe, verwijdert niets)
rclone copy /data gdrive:/backup/data -P

# Synchroniseren (spiegel: verwijdert wat lokaal weg is)
rclone sync /data gdrive:/backup/data -P

# Lijst en grootte
rclone ls gdrive:/backup/data
rclone size gdrive:/backup/data

# Filters (sluit caches en .git uit)
rclone sync /data gdrive:/backup/data -P   --exclude ".cache/**" --exclude ".git/**"

# Bandbreedte en gelijktijdigheid
rclone sync /data gdrive:/backup/data -P   --transfers 8 --checkers 16 --bwlimit 8M

# VerifiΓ«ren (checksums/metadata vergelijken)
rclone check /data gdrive:/backup/data

# Crypto-verify (wanneer crypt remote gebruikt is)
rclone cryptcheck /data secret:

Belangrijke flags
- -P/--progress: voortgang; -vv: uitgebreide logs.
- --checksum of --size-only: vergelijkingsstrategie.
- --delete-excluded: verwijder uitgesloten bestanden aan de remote.
- --max-age / --min-age: beperk op bestandstijd.
- --dry-run: toon wat er zou gebeuren.

Mounten als filesystem (FUSE)

Vereist FUSE:

sudo apt install fuse3
rclone mount gdrive:/ ~/mnt/gdrive --daemon --vfs-cache-mode writes
Systemd-service (/etc/systemd/system/rclone-gdrive.mount.service):
[Unit]
Description=Rclone Mount gdrive
After=network-online.target

[Service]
Type=simple
User=youruser
ExecStart=/usr/bin/rclone mount gdrive:/ /home/youruser/mnt/gdrive   --vfs-cache-mode writes --dir-cache-time 12h --poll-interval 1m   --log-file /var/log/rclone-gdrive.log --log-level INFO
Restart=on-failure

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now rclone-gdrive.mount.service

Cron-back-up voorbeeld (dagelijks, 02:30)

crontab -e
# voeg toe:
30 2 * * * /usr/bin/rclone sync /srv/data gdrive:/backup/data -P --log-file /var/log/rclone-backup.log

πŸ“Š Voorbeeldoutput

rclone sync /data gdrive:/backup/data -P
Transferred:        1.234 GiB / 1.234 GiB, 100%
Checks:             12 / 12, 100%
Transferred:         3 / 3, 100%
Elapsed time:        1m23s


Uitleg

  • copy vs sync: copy laat extra bestanden op de bestemming staan; sync spiegelt 1-op-1.
  • check/cryptcheck: valideert integriteit (hashes/metadata); essentieel voor back-up betrouwbaarheid.
  • mount: benadert cloud als map; ideaal voor lezen/lichte writes (let op latency).

Sterke punten

  • Ondersteunt vrijwel alle clouds en protocollen (S3, WebDAV, SSH).
  • Geavanceerde filters, throttling en parallelisme.
  • Versleuteling via crypt remote.
  • Uitstekend te scripten en te automatiseren (cron/systemd).

Zwakke punten

  • Cloud-API limieten/quotas kunnen snelheid beperken.
  • Interactie met FUSE/mounts kan tuning vergen.
  • Config (scopes, service accounts) kan complex zijn.

🧰 Troubleshooting & Tips

  • Rate limits / 403 bij Google Drive β†’ verlaag parallelisme (--transfers 4 --checkers 8) en gebruik --drive-chunk-size 64M.
  • Service Accounts (GDrive) voor hogere limieten; gebruik --drive-service-account-file.
  • Logging: -vv --log-file /var/log/rclone.log.
  • Verloren permissies? Onthoud dat cloud geen Unix-ACLs bewaart; bewaar metadata apart (tar) of herstel na restore.
  • Zero-downtime back-ups: combineer met LVM snapshots of database-dumps om consistente kopieΓ«n te maken.