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
| Podatak | Vrednost | Gde ga nalazite |
|---|---|---|
| Endpoint | https://s3.hostarena.rs | Isti za sve korisnike |
| Region | garage | Obavezno tačno ovako |
| Bucket | vas-bucket | HostArena korisnički panel, kod S3 usluge |
| Access Key | VAS_ACCESS_KEY | HostArena korisnički panel, kod S3 usluge |
| Secret Key | VAS_SECRET_KEY | HostArena korisnički panel, kod S3 usluge |
| Provider u rclone-u | Other | Opšti izbor za S3 kompatibilne servere |
Instalaciju proverite komandom:
rclone versionPodešavanje veze (vodič korak po korak)
- Pokrenite
rclone configi izaberite n) New remote. - Za ime veze upišite
hostarena. To ime koristite u svim komandama. - Za vrstu skladišta (Storage) izaberite Amazon S3 Compliant Storage Providers ili upišite
s3. - Za provider izaberite Other (ili upišite
Other). To je ispravan izbor za S3 kompatibilne servere koji nisu na listi. - Kod env_auth izaberite
falseako ključeve unosite sada, ilitrueako želite da rclone čita ključeve iz promenljivih okruženja. - Za access_key_id i secret_access_key upišite ključeve iz panela (preskačete ako ste izabrali
env_auth = true). - Za region upišite
garage. - Za endpoint upišite
https://s3.hostarena.rs. - 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.rsGotova 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.rsZa 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-bucketKopiranje 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 -PSinhronizacija
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 -PDa proverite da li su izvor i odredište isti:
rclone check /home/bekap hostarena:vas-bucket/bekapBrisanje
rclone deletefile hostarena:vas-bucket/bekap/stari.zip
rclone purge hostarena:vas-bucket/stari-bekap --dry-runPaž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.logPutanju 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.
