Jeste li ikada brinuli o gubitku podataka ili ste se umorili od izvođenja ručnih sigurnosnih kopija dnevno ili tjedno? Koristiti rsync naredbu i automatski sinkronizirajte svoje lokalne datoteke s udaljenim poslužiteljem koliko god često želite, bez ručne intervencije. Imajte na umu da ovaj vodič zahtijeva pristup udaljenom Linux poslužitelju (npr. AWS), a napisan je pod Ubuntu 20.04 iako bi svaka distribucija Linuxa trebala raditi dobro.

Instalirajte rsync

Prije svega provjeri je li ili ne rsync je instaliran. Na vašem lokalnom računalu i web poslužitelju pokrenite ovu naredbu:

rsync --verzija

Ako zauzvrat dobijete trenutnu verziju rsync, onda ste spremni za sljedeći odjeljak. Inače, ako primite a naredba nije pronađena greška, možete instalirati rsync s ovom naredbom:

sudo apt-get -y instalirati rsync

Generirajte SSH ključ

Koristit ćemo a SSH ključ za provjeru autentičnosti veze između našeg lokalnog računala i udaljenog poslužitelja. Za generiranje novog SSH ključa na vašem lokalnom računalu unutar terminala pokrenite naredbu:

Kako postaviti SSH na Linux i testirati svoje postavke: Vodič za početnike

Trebate daljinski pristupiti svom Linux računalu ili poslužitelju? Evo kako postaviti i konfigurirati SSH na Linuxu, Windowsu i mobilnom uređaju.

ssh-keygen -t rsa -b 4096 -f ~/.ssh/rsync.key

Kada se od vas zatraži lozinka, ostavite prazno i ​​dvaput pritisnite tipku Enter. To će generirati dvije nove datoteke unutar vašeg ~/.ssh/ imenik imenik rsync.ključ koji je privatni ključ, i rsync.key.pub, javni ključ.

Postavite udaljeni poslužitelj

Iako nije potrebno, za ovaj vodič izradit ćemo a novi korisnik na udaljenom poslužitelju za rsync veze i za pohranu svih datoteka sigurnosne kopije. Prijavite se na udaljeni poslužitelj putem SSH-a i pokrenite ovu naredbu:

sudo useradd -m rsync

Gornji primjer koristi korisničko ime rsync, ali ga možete promijeniti u što god želite. The -m opcija jednostavno govori Linuxu da stvori početni direktorij za našeg novog korisnika.

Kako biste omogućili autentifikaciju vašeg lokalnog računala, javni SSH ključ koji je generiran u prethodnom odjeljku treba kopirati na udaljeni poslužitelj. Otvori /~.ssh/rsync.key.pub datoteka u a uređivač teksta i vidjet ćete jednu veliku liniju koja izgleda otprilike.

ssh-rsa korisnik@host

Ova duga linija je javni SSH ključ. Kopirajte ga u međuspremnik i unutar svog udaljenog poslužitelja pokrenite ove naredbe:

sudo su rsync
mkdir -m 0700 $HOME/.ssh
echo "ssh-rsa AAAAB... korisnik@host" > $HOME/.ssh/authorized_keys
chmod 0644 $HOME/.ssh/authorized_keys

U drugoj posljednjoj naredbi zamijenite tekst između navodnika s tim dugim javnim SSH ključem. To je to, vaše lokalno računalo će se sada moći autentificirati s vašim udaljenim poslužiteljem.

Konfigurirajte ssh konfiguracijsku datoteku

Radi jednostavnosti, dodajte unos u ~/.ssh/config datoteku na vašem lokalnom računalu za jednostavno povezivanje s udaljenim poslužiteljem. Otvorite datoteku na svom lokalnom računalu pomoću naredbe.

nano $HOME/.ssh/config

Unutar datoteke dodajte unos za udaljeni poslužitelj kao što je:

host backup_server
 ime hosta 192.168.0.24
 korisnik rsync
 Datoteka identiteta ~/.ssh/rsync

Promijenite ime hosta u IP adresu vašeg udaljenog poslužitelja, a ako ste koristili korisničko ime osim "rsync", promijenite i to. Možete koristiti sve što želite za domaćina, ali za ovaj primjer korišten je "backup_server". Spremite i zatvorite datoteku pritiskom na Ctrl+X nakon čega slijede tipke "Y" i Enter.

Testirajte svoju SSH vezu s udaljenim poslužiteljem pomoću naredbe.

ssh backup_server

Pod pretpostavkom da je sve ispravno postavljeno, sada biste trebali biti prijavljeni na svoj udaljeni poslužitelj putem SSH-a. Zatvorite vezu s naredbom.

Izlaz

Sinkronizirajte svoje datoteke

Sada testirajte rsync funkcionalnost, i na primjer, za sinkronizaciju imenika dokumenata na vašem lokalnom računalu pokrenite naredbu:

rsync -avz --progress ~/Documents/ backup_server:~/Documents

Prva pojava od ~/Dokumenti/ određuje lokalnu datoteku ili direktorij za sinkronizaciju, backup_server odgovara unosu dodanom u ~/.ssh/config datoteku i završetak :~/Dokumenti jednostavno specificira da se sve učita u /Documents direktorij udaljenog poslužitelja u odnosu na početni direktorij.

Prijavite se na udaljeni poslužitelj i trebali biste vidjeti novi direktorij dokumenata koji je sinkroniziran s onim na vašem lokalnom računalu. Svaki put kada pokrenete gornju naredbu, bit će učitane samo datoteke koje su izmijenjene od posljednjeg puta, tako da nećete stalno učitavati cijeli sadržaj direktorija.

Automatizirajte putem Crontaba

Sada kada je sve testirano i radi ispravno, možemo jednostavno automatizirati cijeli proces dodavanjem crontab posla na naše lokalno računalo. Za automatsku sinkronizaciju vaše lokalne mape s udaljenim poslužiteljem svakih 15 minuta, unutar terminala pokrenite naredbu.

(crontab -l; echo "*/15 * * * * rsync -avz --progress ~/Documents/ backup_server:~/Documents > /dev/null 2>&1";) | crontab

Možda ćete dobiti poruku "nema crontab za korisnika", a možete je jednostavno zanemariti. Promijeni Dokumenti direktorij na ono što želite sigurnosno kopirati, ali svakako ostavite zadnju kosu crtu za direktorije inače neće ispravno sigurnosno kopirati.

Provjerite je li posao crontab uspješno dodan naredbom.

crontab -l

Ako vidite crontab posao koji je upravo dodan, onda je sve na svom mjestu. Pričekajte 15 minuta, provjerite svoj udaljeni poslužitelj i sve potrebne datoteke trebaju biti tamo. Počevši od sada, sve promjene napravljene u vašim datotekama automatski će se učitavati na udaljeni poslužitelj svakih 15 minuta.

Preuzmite s udaljenog poslužitelja

Također možete koristiti rsync da preuzmete datoteke s udaljenog poslužitelja i sinkronizirate ih s vašim lokalnim računalom. Koristeći gornji primjer direktorija /Documents, unutar terminala pokrenite naredbu:

rsync -chavzP backup_server:~/Documents/ ~/Documents

The ~./Dokumenti direktorij na vašem lokalnom računalu sada bi trebao biti zrcalna slika udaljenog poslužitelja.

Uključi i isključi uzorke

Ako ikada trebate sinkronizirati samo datoteke koje odgovaraju određenom uzorku, kao što je kraj s .html možete koristiti --uključiti uzorak. Unutar terminala pokrenite naredbu.

rsync -avz --include "*.html" --progress ~/mysite/ backup_server:~/public_html

Provjerite udaljeni poslužitelj i vidjet ćete da su samo datoteke s nastavkom .html iz lokalnog /mysite/ direktorija učitane u /public_html/ udaljeni direktorij. Slično, također možete sinkronizirati sve osim određenih datoteka s --isključiti opcija. Na primjer, sljedeća naredba sinkronizirat će sve datoteke osim onih s a .txt proširenje.

rsync -avz --isključi "*.txt" --progres ~/mysite/ backup_server:~/public_html

Sinkroniziraj dva lokalna imenika

Ako ikad bude potrebno, možete sinkronizirati dva lokalna imenika s naredbom.

rsync -zvr ~/izvor/direktorij ~/odredište/direktorij

Ova naredba radi potpuno isto kao i kod sinkronizacije na udaljeni poslužitelj, jedina razlika je u tome što se radi o dva lokalna direktorija.

Opusti se

Sada možete odahnuti znajući da su vaše šanse za gubitak podataka sada znatno niže. U ovom članku naučili ste što rsync je, kako generirati i instalirati SSH ključ, definirati poslužitelj unutar ~./.ssh/config datoteku, sinkronizirati lokalni i udaljeni direktorij i automatizirati cijeli proces putem crontaba. Ubuduće, sve potrebne datoteke uvijek će se sinkronizirati s vašim udaljenim poslužiteljem sa samo 15 minuta kašnjenja.

E-mail
Kako klonirati svoj Linux tvrdi disk: 4 metode

Trebate klonirati svoj Linux tvrdi disk ili particiju? Koristite jedan od ovih alata za kloniranje pogona za kloniranje vašeg Linux diska.

Povezane teme
  • Linux
  • Sigurnosna kopija podataka
  • Linux
  • Sigurnosna kopija u oblaku
  • Kućna mreža
O autoru
Matt Dizak (Objavljeno 13 članaka)Više od Matta Dizaka

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e-knjige i ekskluzivne ponude!

Još jedan korak…!

Molimo potvrdite svoju adresu e-pošte u e-poruci koju smo vam upravo poslali.

.