Cloud tárhelyek használata CLI-ből

Cloud tárhelyek használata CLI-ből

2019 első cikkében egy klassz CLI tool-t hoztam olvasóimnak, aminek neve: rclone
Mint a neve is sejteti, a szoftverrel fájlokat és mappákat tudunk szinkronizálni különböző cloud tárhelyekre. Az alkalmazás a legelterjedtebb szolgáltatásokon (pl. Google Drive, MS OneDrive, Dropbox) kívüla a nemrég általam is bemutatott NextCloud-ot, OVH-t, az Amazon és IBM felhőrendszereit és olyan szabványokat is támogat, mint pl. az FTP és WebDav.
Bizalomra ad okot, hogy a szoftver működése során checksum-ok segítségével ellenőrzi az állományok integritását, archív módban működik (azaz megőrzi pl. a fájldátumokat), közvetlenül tud másolni távoli tárterületek között, titkosítva végzi az adatmásolást.

Miként lehet használatba venni a szoftvert?
Először is telepítsük fel...
curl https://rclone.org/install.sh | sudo bash
Majd konfiguráljuk be az első cloud target-ünket (jelen esetben Google Drive):
:~# rclone config

No remotes found - make a new one
n) New remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
n/r/c/s/q> n
name> gdrive_target # Ezen a néven fogunk tudni hivatkozni a beállított tárterületre.
Type of storage to configure.
Choose a number from below, or type in your own value
[felsorolja a támogatott cloud storage-okat]
10 / Google Drive
\ "drive"
[felsorolás vége]
Storage> drive
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 - 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 # Amennyiben szerverünkön nincs desktop telepítve, vagy ssh-n keresztül konfiguráljuk az alkalmazást, úgy n-t kell választanunk és ezen leírás szerint kell eljárnunk.
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":"2019-01-01T23:59:59Z"}
--------------------
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y

Konfigurálás után már használatba is vehetjük a beállított target-et. A használható parancsok listáját elérhetjük itt, de egy pár alapparancsot kigyűjtöttem alább:
rclone copy /etc/crontab gdrive_target: # A lokális /etc/crontab fájlt másoljuk a target-ünk gyökérkönyvtárába
rclone sync /root gdrive_target: # A lokális /root mappát szinkronizáljuk a target-ünk gyökérkönyvtárába (megegyezik az rsync -a /root gdrive_target --delete parancssal)
rclone size gdrive_target:/root # A target-ünkön lévő "root" mappa méretének lekérdezése
rclone ls gdrive_target: # A target-ünk gyökérkönyvtárának tartalmát listázza ki
rclone purge gdrive_target:/root # # A target-ünkön lévő "root" mappáját törli rekurzívan

További információk a szoftver honlapján.