Rclone használata

Rclone használata
Rclone használata

Mi az az rclone? Egy újabb parancssori megoldást mutatok be, ami nem más, mint egy felhőtárhely kezelő eszköz. Az ilyennel Dunát lehetne rekeszteni – mondhatná bárki. Igen, a legtöbb felhőtárhely ad jó esetben natív Linuxos programot, ilyen a mega.nz is. Kényelmes, ha van, és hiányzik ha nincs. A problémát a több tárhely okozza. Én szeretném az összes, általam használt felhőtárhelyet egy programmal kezelni, és egy szintaxis szerint használni őket. Erre nagyon jó lesz az rclone, ami több tucat felhőtárhelyet kezel.
Amit megszerettem benne a több, azonos felhőtárhelyen lévő fiók kezelése, hiszen pld. bármennyi mega.nz fiókot megadhatok neki, külön-külön névvel és név szerint hivatkozhatok rá.
Pár alap elvárást felsorolok, de ennél sokkal többet tud, így mindenképp érdemes a honlapjukra felmenni és a leírást elolvasni.

Mit tud az rclone?

Alapvetően minden olyan műveletet, amit én szeretek és használok.

Az elvárásaim:

  • Másoljon, azaz gépen lévő fájlt feltöltse a tárhelyre, és azután a gépemről törölhessem.
  • Folyamatosan szinkronizáljon egy mappát a gépem és a tárhely közt.
  • Tudjak törölni a tárhelyről.
  • Le tudjam kérdezni a tárhely tartalmát.

Ami miatt kiemelten hasznos lehet, bár ezeket a funkciókat még nem sokat használtam, de már nagyon bejöttek:

  • Tárhely-tárhely közti szinkronizálás, amikor két, esetleg eltérő szolgáltatónál lévő adattáramat szinkronizálni, másolni stb. tudom.
  • A tárhelyet fel tudom csatolni, mint egy lemezt.

Az utóbbi időben több tárhelyet kell használnom, így egységesen, egy paranccsal használhatom mindet. Nagyon elegem volt abból, hogy az egyik ad jó CLI felületet, a másiknak nincs natív Linuxos programja, csak böngészőből használható.
Több mega.nz tárhelyem van, eltérő célra. A mega.nz jó terminálos (és grafikus) megoldást is ad, de ha több tárhelyem van, akkor a folyamatos ki- és belépések, jelszómegadások a fiókváltásnál már kényelmetlen lehet. Az rclone kezeli ezeket a problémákat…

Telepítése

A telepítése nem okozhat gondot, mert minden jobb disztribúció alaptárlókban adja. Én most MX Linux alatt próbálom ki, így csak a

apt install rclone

parancsot kellett használni, és máris megkaptam.

Ha „öregnek” érzed a kapott verziót, akkor sincs gond, az oldalon két újabb verzió beszerzéséről is írnak. Az első stabil verziót szedi le:

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

A második az éppen aktuális béta verziót:

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

Ez a szkript először az rclone telepített verzióját leellenőrzi, és nem tölti le újra, ha nincs rá szükség! Szuper, erre is figyeltek.

Érdekességképp jegyzem meg, hogy van docker is, így ha nem akarod telepíteni, egy docker tárolóval is használhatod. Én nem így használom, erről csak olvastam! A beállításához [ezen] (https://rclone.org/install/) az oldalon olvashatsz.

Egy rclone munkamenet beállítása

$ rclone config
2022/10/08 16:13:25 NOTICE: Config file "/home/laci/.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 beállítás az rclone config paranccsal tehetjük meg. Már itt is érdemes megjegyezni, hogy hol találjuk majd a saját beállítási állományunkat. Értelmesen kiírja, így mindig olvassuk el a kiírást.
Majd rákérdez a teendőre. Elsőnek adjuk meg a konfigurációs jelszót, így csak ennek birtokában tudjuk a későbbiekben a beállításokat megtenni. Azaz s lenyomása után beírjuk a jelszót, amit ehhez használni akarunk.

Your configuration is not encrypted.
If you add a password, you will protect your login information to cloud services.
a) Add Password
q) Quit to main menu
a/q> a      
Enter NEW configuration password:
password:
Confirm NEW configuration password:
password:
Password set
Your configuration is encrypted.
c) Change Password
u) Unencrypt configuration
q) Quit to main menu
c/u/q> 

Logikusan az a választás a jó, és jelszót kétszer meg kell adni, majd a q lenyomása után visszatérünk a beállításhoz. A konfig mindig legyen titkosítva!
Ha először használod a rclone programot, akkor most lépj ki, és újra rclone config. Ez a lépés elvileg felesleges, de érdemes megnézni, hogy bekéri már a jelszót is.

$ rclone config
Enter configuration password:
password:
No remotes found, make a new one?
n) New remote
s) Set configuration password
q) Quit config
n/s/q>

Az első „remote” beállítása jön. Itt sok olyant fog kérdezni, amire nem feltétlen tudod a választ, ilyenkor (a logikus kivételeknél nem!) az alapértelmezettet kell választani. De én csak az egyszerű beállítási részt használom, így nem kérdez sokat!

Enter name for new remote.
name> Mega1

A név fontos! Egyrészt érdemes beszélő neveket adni, másrészt – ha sok ilyened lesz – valami szabály szerint elnevezni a fiókokat. Nekem a név a Mega1, azaz az elsődleges mega.nz tárhelyem.

Option Storage.
Type of storage to configure.
Choose a number from below, or type in your own value.
 .
 .
30 / Mega
   \ (mega)
.
.
Storage> 

A hosszú listából ki kell választani azt, amit használni fogsz. A tárhelyekről és a beállításukról a rclone honlapján van leírás, így nem térek ki rá. Amúgy sem nagyon kell az alap beállításhoz. A mega.nz konfigurációhoz a 30 kell, a számot egyszerűbb beállítani, mint írogatni.

Storage> 30

Option user.
User name.
Enter a value.
user>xxxxxxddxx@gmail.com

Option pass.
Password.
Choose an alternative below.
y) Yes, type in my own password
g) Generate random password
y/g> y
Enter the password:
password:
Confirm the password:
password:

Azaz megadod a felhőtárhelyben használt user nevedet, illetve az y választása után a korrekt jelszavadat. Ha a g-t választod, legenerál egy elég összetett jelszót.

Edit advanced config?
y) Yes
n) No (default)
y/n> 

Ha haladó vagy, akkor az y után aprólékosan beállíthatod a dolgokat. Ezek nagy része most nekem nem kell, így én a n beállítást választom, azaz nem akarok semmi komolyabb plusz beállítást. Általában a haladót választva az alapbeállítást lesz nekem jó, ezért nem akarok ezzel molyologni.

Configuration complete.
Options:
- type: mega
- user: xxxxxxx@gmail.com
- pass: *** ENCRYPTED ***
Keep this "Mega1" remote?
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d> 

Kiírja a beállításokat, majd elfogadjuk a y lenyomásával. A konfigurációt később is megváltoztathatjuk.

Current remotes:

Name                 Type
====                 ====
Mega1                mega

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> 

Kiírja, hogy készen is vagyunk, majd a lehetséges lépéseket. Készíthetünk egy másikat, törölhetünk, vagy akár másolhatjuk is az adott beállítást.
Másolni? Igen, akkor van értelme, ha komolyabb beállításokat, a haladó beállításokat is meg kellett vizsgálni a működéshez. Ilyenkor nem kell – ha ugyanolyan akarunk – mindent újra megadni, csak a másolatnál az user/pass páros megváltoztatni.
Mivel most már kész is vagyunk, én kilépek a beállításból.

Pár példa a használatra

A használata valóban egyszerű, a help és a leírások nagyon jók.
A konfiguráció kipróbálására a legjobb a listázás, így az ls parancsot futtatjuk:

rclone ls Mega1:

A teszt után kilistázza a felhőtárhelyet. Ne lepődj meg, ha bekéri a jelszavadat, amit a konfigurációnál megadtál! Ez lehet, hogy első körben zavaró lesz, de ha van kényesebb anyag a felhőben, akkor nem feltétlen lenne jó ha azt azonosítás nélkül nézhetné meg valaki. Itt fontos, hogy nem a felhasználói, vagy a root, de nem is a felhőtárhelyhez tartozó jelszó kell, hanem amit az előbb megadtál.
Ha zavaró – és nincs fontos anyag a tárhelyen – akkor a jelszót törölheted.
Szuper! Ha a lista stimmel, akkor már kész is van a használatra.

Az alap feladat legtöbbször a „másoljuk fel az adatokat” teendő:

rclone copy /local/path/ Mega1:

A felépítése nagyon egyszerű, hiszen a rclone után a megszokott parancs jön (pld.: copy, sync) majd a helyi gépen az elérési útja. Ezt a tárhely azonosítója követi és a kettőspont, azután, ha kell, az ottani könyvtárat adjuk meg. Így már senkinek sem okoz gondot a használata 🙂

rclone sync -i /local/path remote:path

A szinkronizálás parancs. Ez a kettő amit a legtöbbször használok, ezeket érdemes megjegyezni. Én több mega.nz tárhelyet használok, mindegyikhez készítettem egy-egy rclone bejegyzést, és a másolásokhoz pedig alias-t. Villámgyors így az adatok feltöltése.

Ez a két parancs a legtöbbet használt, de ez csak a lehetőségek nagyon picike kis szelete. A teljes listát itt találod majd meg. Nincs nagy értelme felsorolni őket, mert ha megnézed a listát látni, hogy értelmesen összerakott neveket kaptak a parancsok, nem okozhat senkinek kitalálni a rendeltetésüket. Párszor át kell nézni a lehetőségeket, hogy megismerjük az rclone működését. A leírások jól összeszedettek, mindenre kitérnek.

Felcsatolás vs. szinkronizálás, másolás?

Bár első körben nagyon kellemesnek tűnik a felhőtárhely mappaként való csatolása, de van hátulütője is. Ha egy tárhelyet mappaként csatolunk, és abba mozgatunk valamit, akkor abból lehet adatvesztés is. A sima mappába való mozgatásnál egy leállás esetén elveszhetnek az adatok, hiszen a mappába írás lehet késleltetett is. A rendszer nem azonnal írja ki az adatokat. Nem szokott probléma lenni, de érdemes tudni erről. A szinkronizálás, másolás a felhőbe a hagyományos módon egy nagyon ellenőrzött művelet, ha megszakad, akkor sincs probléma az rclone tudja folytatni.
Minimális az esélye!