Ți-ai făcut vreodată griji că îți pierzi datele sau te-ai săturat să faci copii de rezervă manuale zilnic sau săptămânal? Folosește rsync comandă și sincronizează automat fișierele locale cu un server la distanță ori de câte ori se dorește, fără intervenție manuală. Vă rugăm să rețineți că acest ghid necesită acces la un server Linux de la distanță (de ex. AWS) și este scris sub Ubuntu 20.04, deși orice distribuție Linux ar trebui să funcționeze bine.

Instalați rsync

Înainte de orice, verificați dacă sau nu rsync este instalat. Atât pe computerul local, cât și pe serverul web, rulați această comandă:

rsync --versiune

Dacă primiți versiunea actuală de rsync în schimb, atunci sunteți gata pentru următoarea secțiune. În caz contrar, dacă primești un comanda nu a fost găsită eroare, puteți instala rsync cu aceasta comanda:

sudo apt-get -y install rsync

Generați cheia SSH

Vom folosi a cheie SSH pentru a autentifica conexiunea dintre PC-ul nostru local și serverul de la distanță. Pentru a genera o nouă cheie SSH pe computerul local din terminal, executați comanda:

instagram viewer
Cum să configurați SSH pe Linux și să vă testați configurația: un ghid pentru începători

Trebuie să vă accesați computerul sau serverul Linux de la distanță? Iată cum să configurați și să configurați SSH pe Linux, Windows și mobil.

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

Când vi se solicită o parolă, lăsați-o necompletată și apăsați tasta Enter de două ori. Acest lucru va genera două fișiere noi în interiorul dvs ~/.ssh/ director numit rsync.key care este cheia privată și rsync.key.pub, cheia publică.

Configurați serverul de la distanță

Deși nu este necesar, pentru acest ghid vom crea un utilizator nou pe serverul de la distanță pentru conexiuni rsync și pentru a stoca toate fișierele de rezervă. Conectați-vă la serverul de la distanță prin SSH și rulați această comandă:

sudo useradd -m rsync

Exemplul de mai sus folosește numele de utilizator rsync, dar îl puteți schimba cu orice doriți. The -m opțiunea îi spune pur și simplu lui Linux să creeze un director principal pentru noul nostru utilizator.

Pentru a permite computerului dumneavoastră local să se autentifice, cheia publică SSH care a fost generată în secțiunea anterioară trebuie să fie copiată pe serverul de la distanță. Deschide /~.ssh/rsync.key.pub dosar într-un editor de text și veți vedea o linie mare care arată ceva asemănător.

ssh-rsa utilizator@gazdă

Această linie lungă este cheia publică SSH. Copiați-l în clipboard și, pe serverul dvs. de la distanță, executați aceste comenzi:

sudo su rsync
mkdir -m 0700 $HOME/.ssh
ecou "ssh-rsa AAAAB... utilizator@gazdă" > $HOME/.ssh/authorized_keys
chmod 0644 $HOME/.ssh/authorized_keys

În ultima comandă, înlocuiți textul dintre ghilimele cu acea linie lungă de cheie SSH publică. Gata, computerul local se va putea autentifica acum cu serverul de la distanță.

Configurați fișierul de configurare ssh

De dragul simplității, adăugați o intrare la ~/.ssh/config fișier pe computerul local pentru a vă conecta cu ușurință la serverul de la distanță. Deschideți fișierul pe computerul local cu comanda.

nano $HOME/.ssh/config

În cadrul fișierului adăugați o intrare pentru serverul de la distanță, cum ar fi:

gazdă backup_server
 numele gazdă 192.168.0.24
 rsync utilizator
 IdentityFile ~/.ssh/rsync

Schimbați numele de gazdă la adresa IP a serverului dvs. la distanță și, dacă ați folosit un alt nume de utilizator decât „rsync”, schimbați-l și pe acesta. Puteți folosi orice doriți pentru gazdă, dar pentru acest exemplu a fost folosit „backup_server”. Salvați și închideți fișierul apăsând Ctrl+X urmat de tastele „Y” și Enter.

Testați-vă conexiunea SSH la serverul de la distanță cu comanda.

ssh backup_server

Presupunând că totul este configurat corect, acum ar trebui să fiți conectat la serverul dvs. la distanță prin SSH. Închideți conexiunea cu comanda.

Ieșire

Sincronizați-vă fișierele

Acum testați rsync funcționalitatea și, de exemplu, pentru a sincroniza directorul Documente pe computerul local, executați comanda:

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

Prima apariție a ~/Documente/ specifică fișierul sau directorul local de sincronizat, backup_server corespunde cu intrarea adăugată la ~/.ssh/config fișier și finalul :~/Documente pur și simplu specifică să încărcați totul în directorul /Documents al serverului la distanță în raport cu directorul principal.

Conectați-vă la serverul de la distanță și ar trebui să vedeți un nou director de documente care este sincronizat cu cel al computerului dvs. local. De fiecare dată când rulați comanda de mai sus, vor fi încărcate numai fișierele care au fost modificate de ultima dată, astfel încât nu încărcați în mod constant întregul conținut al directorului.

Automatizați prin Crontab

Acum că totul este testat și funcționează corect, putem automatiza cu ușurință întregul proces adăugând o lucrare crontab pe computerul nostru local. Pentru a sincroniza automat folderul local cu serverul la distanță la fiecare 15 minute, în terminal rulați comanda.

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

Este posibil să primiți un mesaj „fără crontab pentru utilizator” și îl puteți ignora. Schimba Documente directorul în orice doriți să faceți backup, dar asigurați-vă că lăsați o bară oblică pentru directoare, altfel acestea nu vor face backup corect.

Verificați pentru a vă asigura că jobul crontab a fost adăugat cu succes cu comanda.

crontab -l

Dacă vedeți jobul crontab care tocmai a fost adăugat, atunci totul este la locul său. Așteptați 15 minute, verificați serverul la distanță și toate fișierele necesare ar trebui să fie acolo. Începând de acum, toate modificările aduse fișierelor dvs. vor fi încărcate automat pe serverul de la distanță la fiecare 15 minute.

Descărcați de pe serverul de la distanță

De asemenea, puteți utiliza rsync pentru a descărca fișiere de pe serverul de la distanță și a le sincroniza cu computerul local. Folosind exemplul de director /Documente de mai sus, în terminal rulați comanda:

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

The ~./Documente directorul de pe computerul local ar trebui să fie acum o imagine în oglindă a serverului la distanță.

Includeți și excludeți modele

Dacă vreodată trebuie să sincronizați numai fișierele care se potrivesc cu un anumit model, cum ar fi terminați cu .html poți folosi --include model. În terminal, rulați comanda.

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

Verificați serverul la distanță și veți vedea numai fișierele cu extensia .html din directorul local /mysite/ au fost încărcate în directorul /public_html/ la distanță. În mod similar, puteți, de asemenea, sincroniza totul cu excepția anumitor fișiere --exclude opțiune. De exemplu, următoarea comandă va sincroniza toate fișierele, cu excepția celor cu a .txt extensie.

rsync -avz --exclude „*.txt” --progress ~/mysite/ backup_server:~/public_html

Sincronizați două directoare locale

Dacă este nevoie vreodată, puteți, de asemenea, să sincronizați două directoare locale cu comanda.

rsync -zvr ~/sursă/director ~/destinație/director

Această comandă funcționează exact la fel ca atunci când se sincronizează cu un server la distanță, singura diferență fiind că sunt două directoare locale.

Odihnește-te

Acum puteți respira ușurat știind că șansele dvs. de pierdere a datelor sunt acum substanțial mai mici. În acest articol ați învățat ce rsync este, cum să generați și să instalați o cheie SSH, să definiți un server în cadrul ~./.ssh/config fișier, sincronizați un director local și la distanță și automatizați întregul proces prin crontab. În continuare, toate fișierele necesare vor fi întotdeauna sincronizate cu serverul dvs. de la distanță cu o întârziere de numai 15 minute.

E-mail
Cum să-ți clonezi unitatea hard disk Linux: 4 metode

Trebuie să-ți clonezi unitatea hard disk sau partiția Linux? Utilizați unul dintre aceste instrumente de clonare a unităților pentru a vă clona discul Linux.

Subiecte asemănătoare
  • Linux
  • Copia de rezerva a datelor
  • Linux
  • Backup în cloud
  • Rețeaua de domiciliu
Despre autor
Matt Dizak (13 articole publicate)Mai multe de la Matt Dizak

Aboneaza-te la newsletter-ul nostru

Alăturați-vă buletinului nostru informativ pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!

Încă un pas…!

Vă rugăm să confirmați adresa dvs. de e-mail în e-mailul pe care tocmai vi l-am trimis.

.