Rclone od nule do savladavanja sigurnosnih kopija u oblaku, enkripcije i automatizacije

  • Rclone centralizuje upravljanje više od 70 oblaka pomoću rsync komandi, transparentnog šifriranja i montiranja putem FUSE/VFS-a.
  • "Udaljeni" vam omogućavaju kombinovanje Google Drive-a, S3, B2 ili WebDAV-a, dodavanje crypt slojeva i automatizaciju sigurnosnih kopija pomoću crona ili systemd-a.
  • Opcije kao što su --transfers, --fast-list, --bwlimit i VFS modovi vam omogućavaju fino podešavanje performansi, kvota i korištenja resursa.
  • Šifriranje daljinskih upravljača i same datoteke rclone.conf ključno je za zaštitu vjerodajnica i podataka, posebno na VPS-u, Raspberry Pi-ju i dijeljenim serverima.

Rclone od nule sinhronizuje, šifrira i automatizuje sigurnosne kopije u oblaku

Rclone je postao švicarski nož za pohranu podataka u oblaku. Za sve koji žele prestati da se muče sa osrednjim službenim klijentima, prilagođenim skriptama i apsurdnim ograničenjima provajdera. Sa jednom binarnom datotekom i sintaksom vrlo sličnom rsync-u, možete upravljati sigurnosnim kopijama, sinhronizacijama, montiranjima i šifriranjem na više od 70 servisa: Google Drive, OneDrive, Dropbox, S3, Backblaze B2, Wasabi, pCloud, MEGA, Proton Drive, Nextcloud, WebDAV, SFTP... i još mnogo toga.

Ljepota Rclone-a je u tome što nije ograničen samo na "kopiranje datoteka u oblak".Razumije svaki backend, koristi API-je za povećanu brzinu, omogućava transparentno šifriranje, FUSE montiranje, zakazivanje sigurnosnih kopija i operacije između oblaka bez pristupa vašem disku. Od macOS laptopa ili Raspberry Pi-ja s malim diskom do produkcijskog servera od više terabajta, možete izgraditi robusnu, šifriranu i automatiziranu strategiju sigurnosnog kopiranja ako razumijete njene komponente.

Šta je Rclone i zašto je zanimljiviji od rsync-a za cloud?

Rclone je alat otvorenog koda za komandnu liniju. Dizajniran posebno za rukovanje udaljenim i cloud skladištenjem, Rclone se razlikuje od rsync-a, koji je usmjeren na lokalne ili udaljene datoteke putem SSH-a. Rclone razumije API-je servisa poput Google Drive-a, S3-a i Dropbox-a, upravlja njihovim ograničenjima, kvotama i specifičnim funkcijama, te nudi komande visokog nivoa za listanje, kopiranje, sinhronizaciju, montiranje i posluživanje sadržaja.

Često se opisuje kao „rsync za oblak“Ali zapravo ide mnogo dalje: podržava više od 70 provajdera, integriše slojeve šifriranja (backend) kript), virtuelni sistem datoteka (VFS) za stabilne sklopove, modul chunker za dijeljenje velikih datoteka i sloj apstrakcije u pozadini koji omogućava da ista naredba radi isto na Google Driveu, S3, B2 ili SFTP-u.

U poređenju sa rsync-om, Rclone se ističe u nekoliko aspekata.može iskoristiti prednosti višenitnih transfera (--multi-thread-streams i parametri --transfers / --checkersi obično postiže nekoliko puta veće brzine kada su usko grlo oblačni API-ji. Nadalje, razumije koncepte poput smeća, verzija, dnevnih kvota i ograničenja zahtjeva, te pruža specifične zastavice za optimizaciju svakog provajdera bez ikakvog oštećenja.

Na nivou interne arhitektureTo je jedna binarna datoteka koja uključuje jezgro (Rclone Core) i nekoliko slojeva: VFS za montiranje i keširanje, Crypt za enkripciju na strani klijenta, Chunker za fragmentiranje velikih datoteka i skup backendova koji implementiraju specifičnu komunikaciju sa svakom uslugom (S3/R2, Google Drive, B2, WebDAV, SFTP, itd.). Ova modularnost vam omogućava da kombinujete, na primjer, udaljeni S3 server sa crypt slojem, a zatim ga montirate putem FUSE-a.

Podržane usluge pohrane i tipični slučajevi upotrebe

Usluge koje podržava Rclone

Katalog usluga koje podržava Rclone je ogroman.Međutim, korisno je dobiti kratak pregled najčešćih kako biste pravilno organizirali sigurnosne kopije.

Za svakodnevne korisnike Obično ističu:

  • Google disk / Google fotografije: za lične i poslovne račune, uključujući dijeljene diskove (timske diskove).
  • Microsoft OneDrive i SharePoint: i lično i poslovno.
  • Dropbox, Box, MEGA, pCloud, Proton Drive: široko se koristi za lične sigurnosne kopije, fotografije, dokumente i male repozitorije.

U profesionalnom i razvojnom okruženju Uobičajeno je koristiti skladište za objekte:

  • Amazon S3 i kompatibilni (MinIO, Wasabi, Ceph, Oracle, itd.) za sigurnosne kopije, statički i arhivirani sadržaj.
  • Google Cloud Storage, Azure Blob y Cloudflare R2 ako se već nalazite u tim ekosistemima.
  • Backblaze B2 kao jeftina alternativa za velike količine hladnih podataka.

Za samostalno hostovane i kućne servereRclone se odlično uklapa sa:

  • SFTP/FTP protiv drugih servera.
  • WebDAV za Nextcloud / ownCloud.
  • SMB / CIFS y HTTP kada trebate integrirati NAS i web servere.

Uobičajena ideja je kombinovanje nekoliko oblaka pomoću "Unije".Kreirate daljinski upravljač union: koje grupe, na primjer, gdrive:, onedrive: y dropbox:i funkcionišete kao da je u pitanju jedan gigantski sistem datoteka. Veoma korisno za iskorištavanje besplatnih računa ili distribuciju sigurnosnih kopija između različitih provajdera.

Zahtjevi, osnovna instalacija i ažuriranje

Rclone je lagan, ali ne i magičanNa malom VPS-u ili Raspberry Pi-ju sa malo RAM-a, važno je znati njegove zahtjeve kako biste izbjegli preopterećenje agresivnim postavkama ili mnogim paralelnim transferima.

Na nivou hardvera i sistema, kao razumna referenca:

  • Minimalni RAM512 MB (2 GB ili više za nosače s agresivnim VFS keširanjem).
  • CPU1 vCPU je dovoljan, ali sa 2+ ćete bolje primijetiti paralelne transfere.
  • SkladištenjeBinarna datoteka zauzima malo prostora, ali keš memoriji može biti potrebno 1 GB ili više, ovisno o parametrima.
  • KernelRadi od verzije 3.10 nadalje; sa modernim kernelima (5.4+) i FUSE3 sklopovi rade glatko.

Što se tiče instalacije, imate nekoliko opcija. ovisno o tome šta preferirate: praktičnost, kontrolu verzija ili ponovljivost.

Službeni skript (Linux, preporučuje se ažuriranje):

curl -fsSL https://rclone.org/install.sh | sudo bash
rclone version

Ručna instalacija s .deb paketom na Debian/Ubuntu:

wget https://downloads.rclone.org/v1.71.0/rclone-v1.71.0-linux-amd64.deb
sudo dpkg -i rclone-v1.71.0-linux-amd64.deb
sudo apt -f install   # si pide dependencias

Na macOS-u, Homebrew je najpogodnija opcija.:

brew install rclone
rclone version --check

Na Windowsu možete birati između installera, wingeta ili Chocolateyja.:

  • Preuzimanje ZIP datoteke i odlazak rclone.exe en C:\rclone\ i dodavanjem istog u put.
  • Sa krilom:
    winget install Rclone.Rclone
  • Sa čokoladom:
    choco install rclone
    choco install winfsp
    (za montažu jedinica)

U svim slučajevima, ažuriranje je jednostavno kao trčanje:

rclone selfupdate

Prvi koraci: koncept "udaljene" i interaktivne konfiguracije

Osnovna jedinica u Rcloneu je "daljinski upravljač".Konfiguracijski unos koji opisuje kako se povezati s određenom uslugom. Na primjer, gdrive: za lični Google Drive, s3-backup: za S3 kantu ili nombre_en: za šifriranu mapu.

Sve se upravlja iz asistenta. rclone config, koji sprema zadane postavke u ~/.config/rclone/rclone.conf u INI formatu. Ta datoteka je zlatna: obavezna sigurnosna kopija (a još bolje, šifriranje).

Brzi primjer: kreiranje daljinskog upravljača za Google Drive na računaru pomoću preglednika:

rclone config
# n) New remote
# name> gdrive
# Storage> drive
# client_id>      (vacío para usar el cliente por defecto de rclone)
# client_secret> (vacío)
# scope> 1       (acceso completo)
# service_account_file>  (vacío)
# Edit advanced config? n
# Use auto config? y   (abre el navegador, inicias sesión y aceptas permisos)

Na serveru bez grafičkog okruženja, film se malo mijenja.Kada vas pita želite li koristiti automatske postavke, odaberite nPrikazat će vam naredbu poput ove:

rclone authorize "drive"

Tu komandu izvršavate na svom desktop računaru., tamo gdje imate preglednik, autorizirate račun i kopirate rezultirajući JSON token kako biste ga zalijepili na server kada se to od vas zatraži (config_token> {...}). Na taj način imate funkcionalan daljinski upravljač čak i ako server nema headless konfiguraciju.

Primjer iz stvarnog života: neograničen i šifriran dijeljeni Google Drive

Neko vrijeme su kružili linkovi za kreiranje "neograničenih" dijeljenih diskova na Google disku. povezani sa univerzitetima i sličnim institucijama. Oni koji su iskoristili ovaj trik često ih koriste kao "bunar" za slanje velikih količina multimedijalnih podataka sa svog servera ili Raspberry Pi-ja.

Tipičan tijek rada za korištenje jedne od tih jedinica s Rcloneom je:

  • Dobiti ID dijeljenog diska unosom kroz preglednik i kopiranjem posljednjeg dijela URL-a (nešto poput 0AKXXD2qTbW50Uk9PVA).
  • Napravite običan daljinski upravljač za Google Drive (Storage> drive) i, na terenu root_folder_id>, zalijepite taj identifikator.
  • Kada Rclone pita da li da ga tretira kao timski disk, odgovorite potvrdno i odaberite dotični disk.

Nakon što imate pristup tom disku, sljedeći logičan korak je šifriranje istog.Jer ne znate ko bi još mogao vidjeti te podatke na drugom kraju. Tu nastupa backend. kript.

Kreirajte šifrirani sloj preko tog dijeljenog diska Bilo bi to otprilike ovako:

  • De nuevo rclone configNovi daljinski → ime na primjer nombre_en.
  • Odaberite Skladište > kripta.
  • En remote> staviti na nombre: o nombre:carpeta/, što je prethodni daljinski upravljač (onaj iz Diska) koji pokazuje na mapu.
  • Odaberite šifriranje_naziva_datoteke = standardno y šifriranje_naziva_direktorija = tačno tako da su i imena datoteka i direktorija obfusirana.
  • Generirajte jednu ili dvije jake lozinke (password i salt), ručno ili pomoću ugrađenog generatora.

Od tada nadalje, sve što prenesete na nombre_en: bit će šifrirano A na web stranici Google Drive vidjet ćete čudna i nečitljiva imena. Samo Rclone s tim ključevima može ih prevesti nazad.

Osnovne komande: lista, kopiranje, sinhronizacija i brisanje

Rclone od nule: sinhronizujte, šifrirajte i automatizujte sigurnosne kopije u oblaku

Opšta sintaksa Rclone-a je prilično konzistentna.: rclone <subcomando> origen destino [flags]Trik je u tome da se internalizira nekoliko komandi i nekoliko ključnih opcija.

Za istraživanje udaljenih lokacija i sadržaja ti imaš:

  • rclone listremotes: prikazuje sve konfigurirane daljinske upravljače.
  • rclone ls remote:: lista datoteka s veličinom.
  • rclone lsd remote:samo direktoriji/kante.
  • rclone tree remote: o rclone tree remote:carpeta -d da se vidi struktura nalik drvetu.
  • rclone ncdu remote:tip interfejsa NCDU da vidite veličinu svega, a da se ne izgubite.

Kopiraj bez brisanja bilo čega na odredištu je završeno copy:

# Local → nube
rclone copy /home/usuario/fotos drive:fotos/verano -P

# Nube → local
rclone copy gdrive:Documentos/ ~/Documentos/ -P

# Nube → nube (server-side cuando el backend lo permite)
rclone copy gdrive:proyecto/ s3-backup:proyecto/ -P

Sinhronizacija (zrcaljenje) se vrši pomoću syncI ovdje moramo biti opreznijer uklanja sa odredišta ono što više nije u izvoru:

# Sincronización unidireccional
rclone sync /srv/data onedrive:data -P

# Simulación sin tocar nada
rclone sync /srv/data onedrive:data --dry-run

Za operacije čišćenja Postoji nekoliko korisnih komandi:

  • rclone delete remote:carpeta: briše datoteke iz putanje, napušta direktorije.
  • rclone purge remote:carpeta: briše putanju i sav njen sadržaj.
  • rclone rmdirs remote: --leave-root: briše prazne direktorije.
  • rclone cleanup drive:ispraznite smeće (na primjer, na Google disku).

Najvažnije unakrsne zastave One koje ćete stalno koristiti su:

  • -P o --progress da se vidi napredak.
  • -v, -vv y --log-level da se poveća govorljivost.
  • --transfers N y --checkers N da kontroliše paralelizam.
  • --bwlimit ograničiti propusni opseg, čak i po vremenskim slotovima ("08:00,1M 18:00,off").
  • --include, --exclude y --filter-from da se fino podesi ono što se kopira.

Montiraj oblak kao da je drugi disk (FUSE / VFS)

Jedna od glavnih karakteristika Rclone-a je montiranje daljinskih upravljača kao datotečnih sistema.Nevjerovatno je korisno za Plex/Jellyfin, za direktan rad s dokumentima koje imate na Driveu ili za izlaganje S3 baze podataka aplikaciji koja ne zna kako koristiti S3.

Na Linuxu vam je potreban instaliran i omogućen FUSE3 allow_other en /etc/fuse.conf tako da drugi korisnici mogu pristupiti montiranju. Na Windowsu se oslanja na WinFsp.

Primjer montiranja u Linuxu:

mkdir -p /mnt/gdrive
rclone mount gdrive: /mnt/gdrive \
  --daemon \
  --allow-other \
  --vfs-cache-mode full \
  --vfs-cache-max-size 20G \
  --dir-cache-time 48h \
  --log-file /var/log/rclone/gdrive.log \
  --log-level INFO

Parametar --vfs-cache-mode Označi razliku ponašanja:

  • isključenbez keš memorije; samo za jednostavno čitanje.
  • minimalanDovoljno da stvari funkcionišu.
  • piše: kešira zapise dok se ne uploaduju.
  • pun: kešira čitanja i pisanja; idealno za multimediju, kancelarijske aplikacije itd., ali po cijenu većeg prostora na disku.

Ako želite da postavka preživi ponovno pokretanje sistemaUobičajena praksa je kreiranje namjenskog systemd servisa. Često korišteni obrazac je parametrizirani servis. rclone-remote@.service koji montira bilo koji daljinski upravljač /cloud/<nombre> a zatim ga aktivirajte sa:

sudo systemctl enable --now rclone-gdrive.service

U Windowsu, montirajte OneDrive ili Drive kao slovo X:

rclone mount onedrive: X: --vfs-cache-mode full

Napredna enkripcija sa kripto backendom i sigurnošću konfiguracije

Ako postoji jedna stvar koju treba ozbiljno shvatiti kod Rclone-a, to je sigurnost.: datoteka rclone.conf Sadrži OAuth tokene, S3 pristupne ključeve, šifrirane lozinke... i svako ko ga kopira može, u praksi, pristupiti vašim oblacima.

zadnji kraj crypt Omogućava vam šifriranje datoteka, naziva datoteka i naziva direktorija. transparentno. Prilikom konfigurisanja birate:

  • daljinski: osnovni backend (na primjer gdrive:encrypted).
  • šifriranje_naziva_datoteke: off, standard u obfuscate.
  • šifriranje_naziva_direktorija: tačno/netačno.
  • lozinka y password2 (sol po želji).

Rezultirajuća konfiguracija izgleda ovako (sažeto):

[gdrive-crypt]
type = crypt
remote = gdrive:encrypted/
password = ENCRYPTED_PASSWORD_HASH
password2 = ENCRYPTED_SALT_HASH
filename_encryption = standard
directory_name_encryption = true

Rclone vam također omogućava šifriranje vlastite konfiguracijske datoteketako da čak i ako ga neko ukrade, neće moći pročitati tajne bez glavne lozinke:

rclone config password
# te pedirá una contraseña y a partir de ese momento
# Rclone te la pedirá en cada ejecución

Automatizacija skripti bez potrebe za unosom lozinke U cronu ili systemd-u možete koristiti varijablu okruženja RCLONE_CONFIG_PASS ili mali skript koji ga izvozi čitajući iz zaštićene datoteke (root vlasnik, 600 dozvola) ili iz upravitelja tajni:

export RCLONE_CONFIG_PASS="contraseña_muy_larga"
rclone lsd gdrive: --ask-password=false

Optimizacija performansi: velike datoteke, mnogo malih datoteka i ograničenja

Podrazumevano, Rclone radi prilično dobro, ali uz nekoliko podešavanja, možete izvući mnogo više iz njega.posebno prilikom premještanja terabajta podataka ili miliona malih datoteka.

Za velike datoteke (VM slike, komprimirane sigurnosne kopije, dugi videozapisi) važno je povećati veličinu fragmenata i paralelizam:

rclone copy backup.tar.gz gdrive:backups \
  --drive-chunk-size=256M \
  --transfers=8 \
  --progress

Za mnogo malih datoteka (fotografije, logovi, statične stranice) broj dama i transfera je važniji i koristite --fast-list Ako RAM dozvoljava:

rclone copy fotos/ onedrive:fotos/ \
  --transfers=32 \
  --checkers=16 \
  --fast-list \
  --progress

Kada se moraju poštovati ograničenja propusnog opsega ili API-ja (poput poznatog ograničenja otpremanja na Google Drive od 750 GB/dan ili ograničenja zahtjeva u sekundi), imate alate poput:

  • --bwlimit "08:00,1M 18:00,off" da ide polako tokom radnog vremena i da noću otvara slavinu.
  • --tpslimit y --tpslimit-burst da sadrži greške 403 „prekoračenje ograničenja brzine“.

Automatizirajte sigurnosne kopije: cron, systemd i potpune skripte

Make a rclone copy Manuelni priručnik je sasvim u redu za testiranjeAli zanimljivo je zakazati ponavljajuće sigurnosne kopije, sa zapisnicima, rotacijom verzija i obavještenjima kada nešto pođe po zlu.

Na Linuxu je najlakši način korištenje cronaNa primjer, da biste pokrenuli sinhronizaciju dokumenata s Google Driveom svake noći u 2:00:

crontab -e

0 2 * * * /usr/bin/rclone sync /home/user/documents gdrive:backup \
  --log-file=/var/log/rclone-backup.log --log-level=INFO

Kada želite nešto ozbiljnije, uz zaključavanje, zadržavanje i obavještenjaVrijedi imati poseban skript. Tipična shema uključuje:

  • Varijable s porijeklom, odredištem, ograničenjima propusnog opsega i danima zadržavanja.
  • Use of flock ili lockfile kako bi se spriječile istovremene instance.
  • Use of --backup-dir i sufiksi .bak za verzioniranje.
  • Čišćenje starih sigurnosnih kopija pomoću --min-age y --rmdirs.
  • Opciono slanje obavještenja na Slack/Discord/Email u slučaju neuspjeha.

Ako više volite systemd nego cron, možete definirati rclone-backup.service koji izvršava skriptu i rclone-backup.timer koji označava kadencu (na primjer, u 2:00 s malim slučajnim elementom kako se ne bi uvijek poklapalo).

Grafički interfejsi i upotreba iz Androida

Nisu svi zadovoljni komandnom linijomA za određene zadatke (istraživanje sadržaja, provjera da li je nešto tamo gdje treba biti) GUI može uštedjeti vrijeme.

Rclone donosi službeni web GUI (eksperimentalno, ali funkcionalno) koje raste sa:

rclone rcd --rc-web-gui --rc-user=admin --rc-pass=password
# luego abres http://localhost:5572 en el navegador

Pored toga, postoje i grafički korisnički interfejsi trećih strana kao što je Rclone Browser ili moderni forkovi poput „Rclone UI“Ovi alati vam omogućavaju prevlačenje i ispuštanje, zakazivanje zadataka iz prozora i pregled napretka na vizuelno privlačan način. Na Linuxu ih možete instalirati iz repozitorija ili koristiti AppImage; postoje i Docker slike koje prikazuju interfejs na HTTP portu.

Na Androidu, trik je u ponovnoj upotrebi datoteke rclone.confMnoge Rclone klijentske aplikacije vam omogućavaju da ih uvezete (ili smjestite u mapu) rclone/ (u internoj memoriji) i odatle možete pristupiti svim definiranim daljinskim upravljačima baš kao na serveru. Idealno za streaming šifriranog multimedijskog sadržaja s vašeg mobilnog uređaja.

Rješavanje uobičajenih problema i dijagnoza

Rad sa cloud API-jima znači suočavanje sa greškama u autentifikaciji i ograničenjima usluga.Znanje kako pročitati poruku i imati odgovarajuću zastavicu pri ruci štedi mnogo problema.

Greške u autentifikaciji („neuspješno kreiranje OAuth klijenta“ ili istekli tokeni) Obično se fiksiraju sa:

  • rclone config reconnect remote: za obnovu akreditacija.
  • U ekstremnim slučajevima, izbrišite daljinski upravljač i konfigurirajte ga ispočetka.

Greške 403 ograničenja brzine, posebno na Google diskuSmanjuju se smanjenjem agresivnosti:

rclone copy source: dest: \
  --transfers 2 --checkers 4 \
  --tpslimit 2 --tpslimit-burst 0

Ako FUSE nosač vrati poruku „dozvola odbijena“, provjerite:

  • Šta u /etc/fuse.conf opciju user_allow_other nije komentirano.
  • S čime se voziš? --allow-other i odgovarajućeg korisnika.

Kada sumnjate da datoteke nedostaju nakon sinhronizacijeZdrava stvar je:

  • Nakon što sam ranije pokušao sa --dry-run.
  • Usar rclone check origen destino --one-way i pregledajte kombinovani izvještaj.
  • Provjerite uzorke --exclude / --include da su možda procurili više nego što je trebalo.

Za fino rafiniranje, -vv i zastave --dump headers / --dump bodies Oni prikazuju HTTP zahtjeve koje je napravio Rclone, i rclone backend features remote: o rclone test Oni pomažu da se tačno vidi šta svaki backend podržava i kako veza funkcioniše.

U konačnici, Rclone vam omogućava da montirate bilo šta, od skromne sigurnosne kopije vaše mape Dokumenti u Dropboxu do sistema replikacije u više oblaka sa enkripcijom, trajnim montiranjima i praćenjem pomoću Prometheusa.Krivulja učenja može biti malo zastrašujuća u početku, ali kako je savladate rclone config, copy, sync, mount y cryptOstatak je dodavanje slojeva: automatizacija pomoću crona ili systemda, napredno filtriranje, detaljni logovi i manja podešavanja performansi kako biste ga prilagodili svojoj mreži i cloud okruženju. Nakon što sve te dijelove spojite, on prestaje biti "samo još jedan konzolni alat" i postaje tihi stub koji čuva vaše podatke sigurnima, šifriranima i redundantnim, a da o tome ne morate razmišljati svaki dan.