Restic bekap na HostArena S3
Restic je besplatan program za bekap iz komandne linije. Šifruje sve podatke, šalje samo ono što se promenilo i čuva više verzija (snimaka). Uz HostArena S3 storage dobijate pouzdan bekap servera ili računara van same mašine, na serverima u Srbiji.
Šta vam je potrebno
| Podatak | Vrednost | Gde ga nalazite |
|---|---|---|
| Server (endpoint) | s3.hostarena.rs (port 443, HTTPS) | Isti za sve korisnike |
| Region | garage | Obavezno ovako, ne us-east-1 |
| Bucket | npr. vas-bucket | HostArena korisnički panel, kod S3 usluge |
| Access Key | npr. VAS_ACCESS_KEY | HostArena korisnički panel, kod S3 usluge |
| Secret Key | npr. VAS_SECRET_KEY | HostArena korisnički panel, kod S3 usluge |
Restic čuva podatke u takozvanom repozitorijumu. Za HostArena S3 adresa repozitorijuma izgleda ovako (fascikla putanja je po vašem izboru, npr. naziv servera):
s3:https://s3.hostarena.rs/vas-bucket/putanjaInstalacija
- Debian/Ubuntu:
sudo apt install restic - macOS (Homebrew):
brew install restic - Windows i ostali sistemi: preuzmite program sa zvaničnog sajta restic.net.
Proverite da radi komandom restic version.
Podešavanje
- Napravite fajl sa podacima za pristup, npr.
/root/.restic-env, i zaštitite ga (chmod 600):export AWS_ACCESS_KEY_ID="VAS_ACCESS_KEY" export AWS_SECRET_ACCESS_KEY="VAS_SECRET_KEY" export AWS_DEFAULT_REGION="garage" export RESTIC_REPOSITORY="s3:https://s3.hostarena.rs/vas-bucket/putanja" export RESTIC_PASSWORD_FILE="/root/.restic-lozinka" - U fajl
/root/.restic-lozinkaupišite jaku lozinku repozitorijuma i takođe ga zaštitite sachmod 600. - Učitajte podatke i napravite repozitorijum (samo prvi put):
source /root/.restic-env restic init
Pažnja: lozinka repozitorijuma je ključ za šifrovanje. Sačuvajte kopiju na sigurnom mestu van servera. Bez nje bekap ne može da se vrati – ni vi ni HostArena podrška ne možemo da ga otključamo.
Na Windows-u (PowerShell) promenljive se postavljaju ovako: $env:AWS_DEFAULT_REGION="garage", i isto za ostale.
Pravljenje bekapa
source /root/.restic-env
restic backup /etc /home /var/wwwBaze podataka ne bekapujte kopiranjem fajlova dok rade – prvo napravite izvoz (dump), pa ga bekapujte, npr. mysqldump --single-transaction ime_baze > /var/bekap/baza.sql pre komande restic backup.
Provera da radi
restic snapshots
restic checkPrva komanda prikazuje listu snimaka sa datumom, a druga proverava ispravnost repozitorijuma.
Vraćanje podataka
restic restore latest --target /root/vracenoUmesto latest možete upisati ID snimka iz liste. Pojedinačan fajl vraćate dodavanjem --include /putanja/do/fajla.
Pažnja: ako za --target navedete originalnu lokaciju (npr. /), postojeći fajlovi mogu biti prepisani. Najbezbednije je vratiti u novu fasciklu i odatle kopirati ono što vam treba.
Brisanje starih snimaka
restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prunePažnja: forget --prune trajno briše snimke i podatke koji ne ulaze u pravilo zadržavanja. Prvo pokrenite istu komandu sa --dry-run umesto --prune i pogledajte šta bi bilo obrisano.
Automatsko pokretanje
Napravite skriptu /root/restic-bekap.sh:
#!/bin/sh
set -e
. /root/.restic-env
restic backup /etc /home /var/www
restic forget --keep-daily 7 --keep-weekly 4 --pruneDajte joj prava izvršavanja (chmod 700) i dodajte u cron (crontab -e):
0 2 * * * /root/restic-bekap.sh >> /var/log/restic.log 2>&1Najčešći problemi
AuthorizationHeaderMalformed ili greška sa regionom
Nije postavljen region garage. Proverite da je AWS_DEFAULT_REGION="garage" učitan (source fajla) ili dodajte opciju -o s3.region=garage.
Wrong password ili no key found
Lozinka repozitorijuma nije ista kao kod restic init.
InvalidAccessKeyId ili SignatureDoesNotMatch
Ponovo kopirajte ključeve iz panela, bez razmaka.
Bucket ne postoji
Adresa mora biti s3:https://s3.hostarena.rs/vas-bucket/putanja – bucket se navodi samo jednom, posle servera.
Ako i dalje ne ide, otvorite tiket u korisničkom panelu i pošaljite tačan tekst greške.
Zaključak
Restic je odličan za servere i automatske bekape. Ako vam je draži grafički program, pogledajte Duplicati bekap na HostArena S3, a za obično kopiranje fajlova rclone.
