Despre Linux

  • Facebook
  • Twitter
  • LinkedIn
  • Acasă
  • Linux
    • Comenzi Linux
    • Tutoriale
  • Kubernetes
  • RHCSA
    • Exerciții RHCSA
    • SELinux
    • Permisiuni
  • General
    • Open source
  • Contact

Rclone, sincronizare cu serviciile de stocare în cloud

20 mai 2018 By Bobses 2 comentarii

Rclone este un instrument open source care permite sincronizarea sistemelor Linux cu cele mai importante servicii de stocare în cloud: Google Drive, Amazon Drive, S3, Dropbox, Backblaze B2, One Drive, Box, Hubic, Cloudfiles, Google Cloud Storage, Yandex și multe altele.

Apariția lui a fost determinată de nevoia de sincronizare a unui director local cu spațiul deținut în cloud de utilizatori, spațiu care, de cele mai multe ori, pune probleme de montare. Cea mai cunoscută comandă pentru a sincroniza local două directoare este rsync. Dificultatea apare, după cum am spus, când este necesară montarea spațiului din cloud pe sistem. Rclone a rezolvat această problemă.

Instalarea rclone

Instalarea rclone pe sistemele Linux este extrem de simplă. Se rulează comanda de mai jos:

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

Pentru a instala versiunea beta:

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

Configurarea rclone

Pentru a începe orice configurare cu rclone, se dă comanda:

rclone config

Voi prezenta mai jos doar comenzile pentru Google Drive. Am marcat răspunsurile obligatorii care trebuie date și, de asemenea, am comentat cu italic unde am considerat că trebuie mai multe detalii.

$ rclone config
No remotes found - make a new one
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n
name> GoogleDrive   # sau orice nume ales de voi
Type of storage to configure.
Choose a number from below, or type in your own value   # Google Drive este pe poziția 11, așa că vom tasta această cifră
11 / Google Drive
\ "drive"
Storage> 11
Google Application Client Id - leave blank normally.
client_id>
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 - leave blank normally.
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> n  # dacă browserul nu se deschide să vă ceară să acceptați aplicația, copiați codul de mai jos și lipiți-l în browser; obligatoriu când configuați rclone pe un server fără GUI
If your browser doesn't open automatically go to the following link: https://accounts.google.com/o/oauth2/auth? access_type=offline&client_id=30300000044.apps.googleusercontent.com&redirect_uri =urn%2ert%3Adf%3Aoauth%3A2.0%2lld&response_type=code&scope= https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive&state= d75e8c9bb22dd55dd79163dc8355b
Log in and authorize rclone for access
Enter verification code> 5/BBCru3TFnT4tlD0k....pKhnHkETg
Configure this as a team drive?
y) Yes
n) No
y/n> n
--------------------
[GoogleDrive] type = drive
client_id =
client_secret =
scope = drive
root_folder_id =
service_account_file =
token = {"access_token":"zba69.GlvJ_y5NU_ImGJbg5KyJHonoiCAc4NYc 4UFlXNireNgBmj1iemD8BR- wCyU","token_type":"Bearer","refresh_token":"1/9RscgcoVM2o_y2qw54","expiry": "2018-05-20T19:10:18.32005452+03:00"}
--------------------
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y
Current remotes:

Name Type
==== ====
GoogleDrive drive

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password  # obligatoriu dacă faceți configurarea pe un server în cloud
q) Quit config
e/n/d/r/c/s/q> q

De reținut că, dacă rclone este configurat pe un server fără interfață grafică, trebuie copiat codul furnizat la pasul respectiv și lipit în orice browser la care aveți acces de pe calculatorul local, apoi dați acceptul ca rclone să vă acceseze spațiul din Google Drive.

Pentru a afișa toate serviciile cloud remote configurate:

rclone listremotes
GoogleDrive:

Pentru a afișa directoarele din contul Google Drive:

rclone lsd GoogleDrive:

Pentru a afișa toate fișierele:

rclone ls GoogleDrive:

Pentru a copia un director local în Google Drive:

rclone copy /cale/director/local GoogleDrive:backup/nume_director

Pentru a sincroniza un director folosiți'

rclone sync /cale/director/local GoogleDrive:backup/nume_director

Copierea și sincronizarea se pot face și în sens invers, din contul remote pe sistemul local.

Puteți face un mic script care să ruleze copierea sau sincronizarea directorului cu backup-uri la ora dorită de voi.

Dacă la pasul de la final, înainte de ieșire, alegeți opțiunea s pentru a parola fișierul de configurare rclone (indicat dacă setați rclone pe un server în cloud sau pe un sistem la care nu aveți doar voi acces), va mai trebui asignată o variabilă de mediu RCLONE_CONFIG_PASS care să conțină parola respectivă (această variabilă de mediu va fi disponibilă doar pentru sesiunea în care rulează scriptul). Un exemplu este mai jos:

#!/bin/bash
#
RCLONE_CONFIG_PASS=parola_voastra_rclone
export RCLONE_CONFIG_PASS
# în loc de /home/backup puneți directorul vostru sursă
# în loc de GoogleDrive:backup puneți numele directorului vostru destinație
# pentru a exclude toate fișierele ascunse (care încep cu "." ) vom folosi directiva --exclude
rclone sync /home/backup GoogleDrive:backup/server --exclude '.*' --ask-password=false

Mult mai multe pot fi aflate din documentația Rclone - completă și pe înțelesul tuturor. De asemenea, mai multe despre filtrarea care poate fi făcută cu rclone aici.

Partajează asta:

  • Dă clic pentru a partaja pe Facebook(Se deschide într-o fereastră nouă)
  • Dă clic pentru a partaja pe LinkedIn(Se deschide într-o fereastră nouă)
  • Dă clic pentru a partaja pe Twitter(Se deschide într-o fereastră nouă)

Similare

Din categoria: Tutoriale Etichete: Google Drive, Rclone, rsync, sincronizare

Comentarii

  1. Malin a zis

    21 mai 2018 la ora 10:24

    Am vazut ca e foarte popular rclone, eu nu l-am utilizat niciodata. Prefer good old rsync.

    Răspunde
    • Bobses a zis

      21 mai 2018 la ora 12:00

      E popular pentru ca poti, foarte repede, sa montezi si sa setezi un cron sync cu aproape orice serviciu de stocare in cloud.

      Răspunde

Lasă un răspuns Anulează răspunsul

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.

Copyright © 2023 · Bobses

Administrează consimțămintele pentru cookie-uri
Pentru a oferi cea mai bună experiență, folosim tehnologii, cum ar fi cookie-uri, pentru a stoca și/sau accesa informațiile despre dispozitive. Consimțământul pentru aceste tehnologii ne permite să procesăm date, cum ar fi comportamentul de navigare sau ID-uri unice pe acest site. Dacă nu îți dai consimțământul sau îți retragi consimțământul dat poate avea afecte negative asupra unor anumite funcționalități și funcții.
Funcționale Mereu activ
Stocarea tehnică sau accesul sunt strict necesare în scopul legitim de a permite utilizarea unui anumit serviciu cerut în mod explicit de către un abonat sau un utilizator sau în scopul exclusiv de a executa transmiterea unei comunicări printr-o rețea de comunicații electronice.
Preferințe
Stocarea tehnică sau accesul este necesară în scop legitim pentru stocarea preferințelor care nu sunt cerute de abonat sau utilizator.
Statistici
Stocarea tehnică sau accesul care sunt utilizate exclusiv în scopuri statistice. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
Stocarea tehnică sau accesul sunt necesare pentru a crea profiluri de utilizator pentru a trimite publicitate sau pentru a urmări utilizatorul pe un site web sau pe mai multe site-uri web în scopuri de marketing similare.
Administrează opțiunile Administrează serviciile Administrează vânzătorii Citește mai multe despre aceste scopuri
Vizualizează preferințele
{title} {title} {title}