Rclone - Sinkronizirajte direktorije datoteka iz različitih pohrana u oblaku


Rclone je program naredbenog retka napisan u jeziku Go, koji se koristi za sinkronizaciju datoteka i direktorija s različitih pružatelja usluga pohrane u oblaku kao što su: Amazon Drive, Amazon S3, Backblaze B2, Box, Ceph, DigitalOcean Spaces, Dropbox, FTP, Google Cloud Storage, Google Drive itd.

Kao što vidite, podržava više platformi, što ga čini korisnim alatom za sinkronizaciju podataka između poslužitelja ili s privatnom pohranom.

Rclone dolazi sa sljedećim značajkama

  • MD5/SHA1 raspršivanje u svakom trenutku provjerava integritet integriteta datoteke.
  • Vremenske oznake su sačuvane na datotekama.
  • Djelomične sinkronizacije podržane su na temelju cijele datoteke.
  • Način kopiranja za nove ili promijenjene datoteke.
  • Jednosmjerna sinkronizacija kako bi imenik bio identičan.
  • Način provjere – provjera jednakosti raspršivanja.
  • Može se sinkronizirati s mrežom i s mreže, npr. dva različita računa u oblaku.
  • (Šifriranje) pozadina.
  • (Predmemorija) backend.
  • (Unija) pozadina.
  • Opcijski nosač FUSE (rclone nosač).

Kako instalirati rclone u Linux sustavima

Instalacija rclone može se dovršiti na dva različita načina. Jednostavniji je korištenje njihove instalacijske skripte, izdavanjem sljedeće naredbe.

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

Ono što ova skripta radi je provjera tipa OS-a na kojem je pokrenuta i preuzimanje arhive koja se odnosi na taj OS. Zatim izdvaja arhivu i kopira rclone binarnu datoteku u /usr/bin/rclone i daje dopuštenja 755 za datoteku.

Na kraju, kada je instalacija završena, trebali biste vidjeti sljedeći redak:

Rclone v1.44 has successfully installed.
Now run “rclone config” for setup, Check https://rclone.org/docs/ for  more details.

Drugi način instaliranja rclone je izdavanjem sljedećih naredbi.

curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
unzip rclone-current-linux-amd64.zip
cd rclone-*-linux-amd64

Sada kopirajte binarnu datoteku i dajte joj izvršna dopuštenja.

cp rclone /usr/bin/
chown root:root /usr/bin/rclone
chmod 755 /usr/bin/rclone

Instalirajte rclone stranicu s uputama.

mkdir -p /usr/local/share/man/man1
cp rclone.1 /usr/local/share/man/man1/
mandb 

Kako konfigurirati rclone u Linux sustavima

Sljedeće što trebate učiniti je pokrenuti rclone config da biste kreirali svoju konfiguracijsku datoteku. Koristit će se za provjeru autentičnosti za buduću upotrebu rclone. Za pokretanje konfiguracije pokrenite sljedeću naredbu.

rclone config

Vidjet ćete sljedeći upit:

2018/11/13 11:39:58 NOTICE: Config file “/home/user/.config/rclone/rclone.conf” not found - using defaults
No remotes found - make a new one
n) New remote
s) Set configuration password
q) Quit config
n/s/q>

Opcije su sljedeće:

  • n) – Stvorite novu udaljenu vezu
  • s) – postavite zaštitu lozinkom za svoju konfiguraciju
  • q) – izađite iz konfiguracije

U svrhu ovog vodiča, dopustite da pritisnete "n" i stvorite novu vezu. Od vas će se tražiti da date naziv novoj vezi. Nakon toga od vas će se tražiti da odaberete vrstu pohrane koju želite konfigurirati:

Nazvao sam prema vezi “Google” i odabrao “Google Drive”, koji je pod brojem 12. Na ostala pitanja možete odgovoriti tako da jednostavno ostavite zadani odgovor, a to je prazan “ ”.

Kada se to od vas zatraži, možete odabrati “autoconfig”, koji će generirati sve potrebne podatke za povezivanje s vašim Google diskom i dati dopuštenja za rclone koristiti podatke s Google diska.

Proces izgleda otprilike ovako:

Google Application Client Secret - leave blank normally.
client_secret>
Scope that rclone should use when requesting access from drive.
Choose a number from below, or type in your own value
 1 / Full access all files, excluding Application Data Folder.
   \ "drive"
 2 / Read-only access to file metadata and file contents.
   \ "drive.readonly"
   / Access to files created by rclone only.
 3 | These are visible in the drive website.
   | File authorization is revoked when the user deauthorizes the app.
   \ "drive.file"
   / Allows read and write access to the Application Data folder.
 4 | This is not visible in the drive website.
   \ "drive.appfolder"
   / Allows read-only access to file metadata but
 5 | does not allow any access to read or download file content.
   \ "drive.metadata.readonly"
scope> 1
ID of the root folder - leave blank normally.  Fill in to access "Computers" folders. (see docs).
root_folder_id> 
Service Account Credentials JSON file path - needed only if you want use SA instead of interactive login.
service_account_file>
Remote config
Use auto config?
 * Say Y if not sure
 * Say N if you are working on a remote or headless machine or Y didn't work
y) Yes
n) No
y/n> y
If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
Log in and authorize rclone for access
Waiting for code...
Got code
Configure this as a team drive?
y) Yes
n) No
y/n> n
--------------------
[remote]
client_id = 
client_secret = 
scope = drive
root_folder_id = 
service_account_file =
token = {"access_token":"XXX","token_type":"Bearer","refresh_token":"XXX","expiry":"2018-11-13T11:57:58.955387075Z"}
--------------------
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y

Kako koristiti rclone u Linux sustavima

Rclone ima prilično dugačak popis dostupnih opcija i naredbi za korištenje. Pokušat ćemo pokriti neke od važnijih:

Popis udaljenog imenika

rclone lsd <remote-dir-name>:

Kopiraj podatke pomoću rclone

rclone copy source:sourcepath dest:destpath

Imajte na umu da ako rclone pronađe duplikate, oni će biti zanemareni:

Sinkronizirajte podatke s rclone

Ako želite sinkronizirati neke podatke između direktorija, trebali biste koristiti rclone s naredbom sync.

Naredba bi trebala izgledati ovako:

rclone sync source:path dest:path [flags]

U ovom slučaju izvor se sinkronizira s odredištem, mijenjajući samo odredište! Ova metoda preskače nepromijenjene datoteke. Budući da naredba može uzrokovati gubitak podataka, možete je koristiti s “–dry-run” da vidite što će točno biti kopirano i izbrisano.

Premjesti podatke pomoću rclone

Za premještanje podataka, možete koristiti rclone s naredbom move. Naredba bi trebala izgledati ovako:

rclone move source:path dest:path [flags]

Sadržaj iz izvora, bit će premješten (izbrisan) i postavljen na odabrano odredište.

Ostale korisne rclone naredbe

Za stvaranje imenika na odredištu.

rclone mkdir remote:path

Za uklanjanje imenika.

rclone rmdir remote:path

Provjerite podudaraju li se datoteke na izvoru i odredištu:

rclone check source:path dest:path

Obriši datoteke:

rclone delete remote:path

Svaka od rclone naredbi može se koristiti s različitim zastavicama i uključuje vlastiti izbornik pomoći. Na primjer, možete izvršiti selektivno brisanje pomoću opcije brisanja. Recimo da želite izbrisati datoteke veće od 100M, naredba bi izgledala ovako.

rclone --min-size 100M delete remote:path

Toplo se preporučuje da pregledate priručnik i pomoć za svaku naredbu kako biste što bolje iskoristili rclone. Potpuna dokumentacija rclone-a dostupna je na: https://rclone.org/

Zaključak

rclone je moćan uslužni program naredbenog retka koji vam pomaže upravljati podacima između različitih pružatelja usluga pohrane u oblaku. Dok smo u ovom članku samo zagrebali po površini mogućnosti rclone, s njima se može postići mnogo više, posebno kada se koristi u kombinaciji s uslugom cron (na primjer).