rclone i HostArena S3: podešavanje, kopiranje i sinhronizacija

rclone i HostArena S3: podešavanje, kopiranje i sinhronizacija

rclone je besplatan program komandne linije za kopiranje i sinhronizaciju fajlova sa cloud skladištima. Sa HostArena S3 storage radi preko S3 protokola i odličan je za automatske bekape, prebacivanje velikog broja fajlova i proveru da li su podaci isti na obe strane. Preuzimate ga sa zvaničnog sajta rclone.org.

Šta vam je potrebno

PodatakVrednostGde ga nalazite
Endpointhttps://s3.hostarena.rsIsti za sve korisnike
RegiongarageObavezno tačno ovako
Bucketvas-bucketHostArena korisnički panel, kod S3 usluge
Access KeyVAS_ACCESS_KEYHostArena korisnički panel, kod S3 usluge
Secret KeyVAS_SECRET_KEYHostArena korisnički panel, kod S3 usluge
Provider u rclone-uOtherOpšti izbor za S3 kompatibilne servere

Instalaciju proverite komandom:

rclone version

Podešavanje veze (vodič korak po korak)

  1. Pokrenite rclone config i izaberite n) New remote.
  2. Za ime veze upišite hostarena. To ime koristite u svim komandama.
  3. Za vrstu skladišta (Storage) izaberite Amazon S3 Compliant Storage Providers ili upišite s3.
  4. Za provider izaberite Other (ili upišite Other). To je ispravan izbor za S3 kompatibilne servere koji nisu na listi.
  5. Kod env_auth izaberite false ako ključeve unosite sada, ili true ako želite da rclone čita ključeve iz promenljivih okruženja.
  6. Za access_key_id i secret_access_key upišite ključeve iz panela (preskačete ako ste izabrali env_auth = true).
  7. Za region upišite garage.
  8. Za endpoint upišite https://s3.hostarena.rs.
  9. Ostala pitanja (location_constraint, acl i napredna podešavanja) preskočite pritiskom na Enter, pa potvrdite sa y i izađite sa q.

Isto možete uraditi jednom komandom. U ovom primeru ključevi se ne upisuju u fajl, nego se čitaju iz promenljivih okruženja:

export AWS_ACCESS_KEY_ID="VAS_ACCESS_KEY"
export AWS_SECRET_ACCESS_KEY="VAS_SECRET_KEY"
rclone config create hostarena s3 provider=Other env_auth=true region=garage endpoint=https://s3.hostarena.rs

Gotova veza u fajlu sa podešavanjima (njegovu lokaciju prikazuje rclone config file) izgleda ovako:

[hostarena]
type = s3
provider = Other
env_auth = true
region = garage
endpoint = https://s3.hostarena.rs

Za provider Other rclone po difoltu koristi path-style adrese, što je najpouzdaniji način rada.

Osnovne komande

Spisak bucketa, sadržaj bucketa i zauzeće:

rclone lsd hostarena:
rclone ls hostarena:vas-bucket
rclone size hostarena:vas-bucket

Kopiranje foldera na S3 i nazad. Opcija -P prikazuje napredak. Komanda copy ne briše ništa na odredištu.

rclone copy /home/bekap hostarena:vas-bucket/bekap -P
rclone copy hostarena:vas-bucket/bekap /home/vracanje -P

Sinhronizacija

Pažnja: rclone sync pravi odredište identičnim izvoru, što znači da briše sa odredišta sve što ne postoji u izvoru. Ako pogrešite redosled (S3 kao izvor, računar kao odredište), možete obrisati lokalne fajlove. Zato uvek prvo pokrenite probu sa --dry-run, koja samo ispisuje šta bi se desilo:

rclone sync /home/bekap hostarena:vas-bucket/bekap --dry-run
rclone sync /home/bekap hostarena:vas-bucket/bekap -P

Da proverite da li su izvor i odredište isti:

rclone check /home/bekap hostarena:vas-bucket/bekap

Brisanje

rclone deletefile hostarena:vas-bucket/bekap/stari.zip
rclone purge hostarena:vas-bucket/stari-bekap --dry-run

Pažnja: rclone purge briše navedenu putanju zajedno sa svim fajlovima u njoj, bez pitanja. Obrisani fajlovi se ne mogu vratiti. Prvo pokrenite sa --dry-run, pa tek onda bez nje.

Automatski noćni bekap (Linux)

U crontab -e dodajte red ispod. Ako ste koristili env_auth = true, cron ne vidi vaše promenljive okruženja, pa za cron napravite vezu sa ključevima upisanim u podešavanja (env_auth = false).

0 2 * * * /usr/bin/rclone copy /home/bekap hostarena:vas-bucket/bekap --log-file /var/log/rclone-bekap.log

Putanju do programa proverite komandom which rclone. Za bucket sa jako mnogo fajlova dodajte opciju --fast-list.

Provera da radi

Pokrenite rclone ls hostarena:vas-bucket. Ako dobijete spisak fajlova ili prazan odgovor bez greške, veza radi. Zatim kopirajte jedan mali fajl i proverite ga sa rclone check.

Najčešći problemi

AuthorizationHeaderMalformed

Region nije garage. Pokrenite rclone config, izaberite e) Edit existing remote i ispravite region.

AccessDenied ili SignatureDoesNotMatch

Ključevi nisu dobro uneti, ili je env_auth = true, a promenljive okruženja nisu postavljene u tom terminalu.

AccessDenied pri kopiranju, iako listanje radi

rclone pre kopiranja proverava da li bucket postoji i pokušava da ga napravi. Dodajte opciju --s3-no-check-bucket da preskoči taj korak.

NoSuchBucket ili Failed to create file system

Proverite naziv bucketa i da endpoint glasi tačno https://s3.hostarena.rs, bez naziva bucketa u adresi.

Zaključak

Za rad u terminalu pogledajte i AWS CLI i MinIO Client (mc), a za šifrovane bekape Restic. Tehnički detalji o adresama i potpisivanju zahteva nalaze se u uputstvu HostArena S3 API: adrese, potpisivanje i kompatibilnost. Nemate S3 uslugu? Pogledajte pakete na stranici HostArena S3 storage. Ako zapne, otvorite tiket u korisničkom panelu.

Tags: , , , ,