Weboldal keresés

Rclone – Szinkronizálja a fájlkönyvtárakat a különböző felhőalapú tárhelyekről


Az Rclone egy Go nyelven írt parancssori program, amelyet különböző felhőalapú tárolószolgáltatók fájlok és könyvtárak szinkronizálására használnak, például: Amazon Drive, Amazon S3, Backblaze B2, Box, Ceph, DigitalOcean Spaces, Dropbox, FTP, Google Cloud Storage, Google Drive stb.

Amint látja, több platformot is támogat, ami hasznos eszközzé teszi az adatok szinkronizálását a szerverek között vagy egy privát tárhelyre.

Az Rclone a következő funkciókkal rendelkezik

  • Az MD5/SHA1 hash folyamatosan ellenőrzi a fájl integritását.
  • Az időbélyegek megmaradnak a fájlokon.
  • A részleges szinkronizálás teljes fájlonként támogatott.
  • Másolás mód új vagy módosított fájlokhoz.
  • A szinkronizálás egyik módja a könyvtár azonossá tételére.
  • Ellenőrző mód – hash egyenlőség ellenőrzése.
  • Szinkronizálhat hálózattal és hálózatról, pl. két különböző felhőfiókkal.
  • (Titkosítási) háttérrendszer.
  • (Gyorsítótár) háttér.
  • (Union) háttérrendszer.
  • Opcionális BIZTOSÍTÉK tartó (rclone mount).

Az rclone telepítése Linux rendszereken

Arclone telepítése két különböző módon végezhető el. Az egyszerűbb a telepítési szkriptjük használata a következő parancs kiadásával.

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

Ez a szkript ellenőrzi az operációs rendszer típusát, amelyen fut, és letölti az adott operációs rendszerhez kapcsolódó archívumot. Ezután kibontja az archívumot, és az rclone bináris fájlt a /usr/bin/rclone mappába másolja, és 755 engedélyeket ad a fájlhoz.

Végül, amikor a telepítés befejeződött, a következő sort kell látnia:

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

Az rclone telepítésének második módja a következő parancsok kiadása.

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

Most másolja a bináris fájlt, és adjon neki végrehajtási engedélyeket.

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

Telepítse az rclone kézikönyvoldalt.

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

Az rclone konfigurálása Linux rendszerekben

Ezután futtassa az rclone config parancsot a konfigurációs fájl létrehozásához. Az rclone későbbi használatához hitelesítésre fogják használni. A konfigurációs beállítás futtatásához futtassa a következő parancsot.

rclone config

A következő üzenet jelenik meg:

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>

A lehetőségek a következők:

  • n) – Új távoli kapcsolat létrehozása
  • s) – jelszavas védelem beállítása a konfigurációhoz
  • q) – kilépés a konfigurációból

Ennek az oktatóanyagnak a céljaira nyomja meg az "n" billentyűt, és hozzon létre új kapcsolatot. A rendszer kéri, hogy adjon nevet az új kapcsolatnak. Ezt követően a rendszer kéri, hogy válassza ki a konfigurálandó tárhely típusát:

A kapcsolat alapján „Google ” nevet adtam, és a „Google Drive” lehetőséget választottam, amely a 12 szám alatt található. A többi kérdésre úgy válaszolhat, hogy egyszerűen elhagyja az alapértelmezett választ, amely egy üres “ ”.

Amikor erre kérik, kiválaszthatja az „autoconfig” lehetőséget, amely minden szükséges információt generál a Google Drive-hoz való csatlakozáshoz, és az rclone engedélyek megadásához. használja a Google Drive adatait.

A folyamat valahogy így néz ki:

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

Az rclone használata Linux rendszerekben

Az Rclone meglehetősen hosszú listát tartalmaz a használható opciókról és parancsokról. Megpróbálunk néhány fontosabbat lefedni:

Távoli címtár listázása

rclone lsd <remote-dir-name>:

Adatok másolása az rclone segítségével

rclone copy source:sourcepath dest:destpath

Vegye figyelembe, hogy ha az rclone ismétlődéseket talál, akkor azokat figyelmen kívül hagyja:

Adatok szinkronizálása a rclone segítségével

Ha bizonyos adatokat szeretne szinkronizálni a könyvtárak között, használja az rclone parancsot a sync paranccsal.

A parancsnak így kell kinéznie:

rclone sync source:path dest:path [flags]

Ebben az esetben a forrás szinkronizálva van a célállomással, csak a cél megváltoztatásával! Ez a módszer kihagyja a változatlan fájlokat. Mivel a parancs adatvesztést okozhat, használhatja a „–dry-run” paranccsal, hogy megtudja, mi lesz pontosan másolva és törölve.

Adatok áthelyezése a rclone segítségével

Adatok áthelyezéséhez használhatja az rclone parancsot a move paranccsal. A parancsnak így kell kinéznie:

rclone move source:path dest:path [flags]

A forrásból származó tartalom áthelyezésre (törlésre) kerül, és a kiválasztott célhelyre kerül.

Egyéb hasznos rclone parancsok

Könyvtár létrehozása a célhelyen.

rclone mkdir remote:path

Könyvtár eltávolítása.

rclone rmdir remote:path

Ellenőrizze, hogy a forrás és a cél fájlok egyeznek-e:

rclone check source:path dest:path

Fájlok törlése:

rclone delete remote:path

A rclone parancsok mindegyike különböző zászlókkal használható, és saját súgómenüt is tartalmaz. Például a törlés opcióval szelektív törlést végezhet. Tegyük fel, hogy 100 MB-nál nagyobb fájlokat szeretne törölni, a parancs így fog kinézni.

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

Erősen ajánlott az egyes parancsok kézikönyvének és súgójának áttekintése, hogy a legtöbbet hozhassa ki az rclone lehetőségből. A rclone teljes dokumentációja elérhető a következő címen: https://rclone.org/

Következtetés

Az rclone egy hatékony parancssori segédprogram, amely segít a különböző felhőalapú tárolási szolgáltatók közötti adatok kezelésében. Míg ebben a cikkben csak a felszínét karcoltuk meg az rclone képességeknek, sokkal többet érhetünk el vele, különösen, ha például cron szolgáltatással kombináljuk.