Rclone - sinhronizē failu direktorijus no dažādas mākoņu krātuves


Rclone ir komandrindas programma, kas rakstīta dažādos mākoņkrātuves nodrošinātājos, piemēram: Amazon Drive, Amazon S3, Backblaze B2, Box, Ceph, DigitalOcean Spaces, Dropbox, FTP, Google Cloud Storage, Google Drive utt.

Kā redzat, tas atbalsta vairākas platformas, kas padara to par noderīgu rīku datu sinhronizēšanai starp serveriem vai ar privātu krātuvi.

Rclone nāk ar šādām funkcijām

  • MD5/SHA1 hash pārbaudes vienmēr tiek veiktas, lai nodrošinātu faila integritātes integritāti.
  • Failos tiek saglabāti laika zīmogi.
  • Daļēja sinhronizācija tiek atbalstīta, pamatojoties uz visu failu.
  • Kopēšanas režīms jauniem vai mainītiem failiem.
  • Viens veids, kā sinhronizēt direktoriju, lai tas būtu identisks.
  • Pārbaudes režīms - hash vienlīdzības pārbaude.
  • Var sinhronizēt ar tīklu un no tīkla, piemēram, diviem dažādiem mākoņa kontiem.
  • (šifrēšanas) aizmugure.
  • (kešatmiņas) aizmugure.
  • (Savienības) aizmugure.
  • Izvēles FUSE stiprinājums (rclone stiprinājums).

Kā instalēt rclone Linux sistēmās

Rclone instalēšanu var pabeigt divos dažādos veidos. Vieglāk ir izmantot viņu instalēšanas skriptu, izsniedzot šādu komandu.

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

Šis skripts ir pārbaudīt OS tipu, kurā tas tiek palaists, un lejupielādēt ar šo OS saistīto arhīvu. Tad tas izraksta arhīvu un kopē rclone bināro failu uz/usr/bin/rclone un piešķir 755 atļaujas failam.

Galu galā, kad instalēšana ir pabeigta, jums vajadzētu redzēt šādu rindu:

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

Otrais veids, kā instalēt rclone, ir izdot šādas komandas.

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

Tagad nokopējiet bināro failu un piešķiriet tam izpildāmās atļaujas.

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

Instalējiet rclone manpage.

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

Kā konfigurēt rclone Linux sistēmās

Nākamais, kas jums būs jādara, ir palaist rclone config, lai izveidotu konfigurācijas failu. To izmantos autentifikācijai, lai turpmāk izmantotu rclone. Lai palaistu konfigurācijas iestatīšanu, izpildiet šādu komandu.

# rclone config

Tiks parādīta šāda uzvedne:

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>

Iespējas ir šādas:

  • n) - izveidojiet jaunu attālo savienojumu
  • s) - iestatiet konfigurācijas aizsardzību ar paroli
  • q) - izejiet no konfigurācijas

Šīs apmācības vajadzībām ļauj nospiest "n" un izveidot jaunu savienojumu. Jums tiks lūgts piešķirt jaunajam savienojumam nosaukumu. Pēc tam jums tiks piedāvāts izvēlēties konfigurējamā krātuves veidu:

Pēc savienojuma esmu nosaucis “Google” un izvēlējies “Google Drive”, kas ir ar numuru 12. Uz pārējiem jautājumiem jūs varat atbildēt, vienkārši atstājot noklusējuma atbildi, kas ir tukša “”.

Kad jums tiek lūgts, varat izvēlēties “automātiskā konfigurēšana”, kas ģenerēs visu nepieciešamo informāciju, lai izveidotu savienojumu ar jūsu Google disku, un piešķirs rclone atļaujas izmantot datus no Google diska.

Process izskatās apmēram šādi:

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

Kā izmantot rclone Linux sistēmās

Rclone ir diezgan garš saraksts ar pieejamajām opcijām un komandām, kuras izmantot. Mēs centīsimies aplūkot dažus svarīgākos:

# rclone lsd <remote-dir-name>:
# rclone copy source:sourcepath dest:destpath

Ņemiet vērā, ka, ja rclone atrod dublikātus, tie tiks ignorēti:

Ja vēlaties sinhronizēt dažus datus starp direktorijiem, jums jāizmanto rclone with sync komanda.

Komandai vajadzētu izskatīties šādi:

# rclone sync source:path dest:path [flags]

Šajā gadījumā avots tiek sinhronizēts ar galamērķi, mainot tikai galamērķi! Šī metode izlaiž nemainītos failus. Tā kā komanda var izraisīt datu zudumu, varat to izmantot kopā ar “–dry-run”, lai redzētu, kas tieši tiks kopēts un izdzēsts.

Lai pārvietotu datus, varat izmantot rclone ar komandu move. Komandai vajadzētu izskatīties šādi:

# rclone move source:path dest:path [flags]

Saturs no avota tiks pārvietots (izdzēsts) un ievietots izvēlētajā galamērķī.

Lai izveidotu direktoriju galamērķī.

# rclone mkdir remote:path

Lai noņemtu direktoriju.

# rclone rmdir remote:path

Pārbaudiet, vai avota un mērķa faili sakrīt:

# rclone check source:path dest:path

Dzēst failus:

# rclone delete remote:path

Katru no rclone komandām var izmantot ar dažādiem karodziņiem, un tajā ir sava palīdzības izvēlne. Piemēram, jūs varat veikt selektīvu dzēšanu, izmantojot dzēšanas opciju. Pieņemsim, ka vēlaties dzēst failus, kuru izmērs ir lielāks par 100 M, komanda izskatās šādi.

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

Ir ļoti ieteicams pārskatīt rokasgrāmatu un palīdzību katrai komandai, lai maksimāli izmantotu rclone. Pilna rclone dokumentācija ir pieejama vietnē https://rclone.org/

rclone ir spēcīga komandrindas lietderība, kas palīdz jums pārvaldīt datus starp dažādiem mākoņkrātuves nodrošinātājiem. Lai gan šajā rakstā mēs saskrāpējām tikai rclone iespēju virsmu, ar to var sasniegt daudz vairāk, jo īpaši, ja to lieto kopā ar cron pakalpojumu (piemēram).