Obávate sa niekedy, že prídete o svoje údaje, alebo vás unavuje každodenné alebo týždenné manuálne zálohovanie? Použi rsync a automaticky synchronizujte svoje lokálne súbory so vzdialeným serverom tak často, ako si želáte, bez manuálneho zásahu. Upozorňujeme, že táto príručka vyžaduje prístup k vzdialenému serveru Linux (napr. AWS) a je napísaný pod Ubuntu 20.04, hoci každá distribúcia Linuxu by mala fungovať dobre.

Nainštalujte rsync

Pred čímkoľvek skontrolujte, či alebo nie rsync je nainštalovaný. Na lokálnom PC aj webovom serveri spustite tento príkaz:

rsync --verzia

Ak na oplátku získate aktuálnu verziu rsync, potom ste pripravení na ďalšiu sekciu. V opačnom prípade, ak dostanete a príkaz nenájdený chyba, môžete nainštalovať rsync s týmto príkazom:

sudo apt-get -y nainštalovať rsync

Vygenerujte kľúč SSH

Použijeme a SSH kľúč na overenie spojenia medzi našim lokálnym počítačom a vzdialeným serverom. Ak chcete vygenerovať nový kľúč SSH na lokálnom počítači v termináli, spustite príkaz:

instagram viewer
Ako nastaviť SSH v systéme Linux a otestovať nastavenie: Príručka pre začiatočníkov

Potrebujete vzdialený prístup k počítaču alebo serveru so systémom Linux? Tu je postup, ako nastaviť a nakonfigurovať SSH v systéme Linux, Windows a mobil.

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

Keď sa zobrazí výzva na zadanie hesla, nechajte ho prázdne a dvakrát stlačte kláves Enter. Tým sa vygenerujú dva nové súbory vo vašom účte ~/.ssh/ adresár s názvom rsync.key čo je súkromný kľúč a rsync.key.pub, verejný kľúč.

Nastavte vzdialený server

Aj keď to nie je povinné, pre túto príručku vytvoríme a nový užívateľ na vzdialenom serveri pre pripojenia rsync a ukladanie všetkých záložných súborov. Prihláste sa na vzdialený server cez SSH a spustite tento príkaz:

sudo useradd -m rsync

Vyššie uvedený príklad používa používateľské meno rsync, ale môžete ho zmeniť na čokoľvek chcete. The -m voľba jednoducho povie Linuxu, aby vytvoril domovský adresár pre nášho nového používateľa.

Aby sa váš lokálny počítač mohol overiť, verejný kľúč SSH, ktorý bol vygenerovaný v predchádzajúcej časti, je potrebné skopírovať na vzdialený server. Otvor /~.ssh/rsync.key.pub súbor v a textový editor a uvidíte jednu veľkú čiaru, ktorá vyzerá nejako podobne.

ssh-rsa užívateľ@hostiteľ

Tento dlhý riadok je verejný kľúč SSH. Skopírujte ho do schránky a na vzdialenom serveri spustite tieto príkazy:

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

V predposlednom príkaze nahraďte text v úvodzovkách týmto dlhým riadkom verejného kľúča SSH. To je všetko, váš lokálny počítač sa teraz bude môcť autentifikovať s vaším vzdialeným serverom.

Nakonfigurujte konfiguračný súbor ssh

Pre jednoduchosť pridajte položku do ~/.ssh/config súbor na vašom lokálnom počítači, aby ste sa mohli jednoducho pripojiť k vzdialenému serveru. Otvorte súbor na lokálnom počítači pomocou príkazu.

nano $HOME/.ssh/config

Do súboru pridajte položku pre vzdialený server, ako napríklad:

hostiteľský záložný_server
 názov hostiteľa 192.168.0.24
 užívateľský rsync
 IdentityFile ~/.ssh/rsync

Zmeňte názov hostiteľa na IP adresu vášho vzdialeného servera a ak ste použili iné používateľské meno ako „rsync“, zmeňte ho tiež. Pre hostiteľa môžete použiť čokoľvek chcete, ale v tomto príklade bol použitý „záložný_server“. Uložte a zatvorte súbor stlačením Ctrl+X a následne klávesmi „Y“ a Enter.

Otestujte svoje pripojenie SSH k vzdialenému serveru pomocou príkazu.

ssh backup_server

Za predpokladu, že je všetko správne nastavené, mali by ste byť teraz prihlásení na vzdialený server cez SSH. Zatvorte spojenie pomocou príkazu.

východ

Synchronizujte svoje súbory

Teraz otestujte rsync a napríklad na synchronizáciu adresára Dokumenty na lokálnom počítači spustite príkaz:

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

Prvý výskyt ~/Dokumenty/ určuje lokálny súbor alebo adresár na synchronizáciu, zálohovací_server zodpovedá záznamu pridanému do ~/.ssh/config súbor a koniec :~/Dokumenty jednoducho určuje, že sa má všetko nahrať do adresára /Documents vzdialeného servera relatívne k domovskému adresáru.

Prihláste sa na vzdialený server a mali by ste vidieť nový adresár Documents, ktorý je synchronizovaný s adresárom vášho lokálneho počítača. Pri každom spustení vyššie uvedeného príkazu sa nahrajú iba súbory, ktoré boli od poslednej doby zmenené, takže nenahrávate celý obsah adresára neustále.

Automatizujte cez Crontab

Teraz, keď je všetko otestované a funguje správne, môžeme celý proces jednoducho automatizovať pridaním úlohy crontab do nášho lokálneho počítača. Ak chcete automaticky synchronizovať lokálny priečinok so vzdialeným serverom každých 15 minút, v termináli spustite príkaz.

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

Môžete dostať správu „žiadny crontab pre používateľa“ a môžete ju jednoducho ignorovať. Zmeniť Dokumenty adresár do ľubovoľného adresára, ktorý chcete zálohovať, ale uistite sa, že ponecháte koncovú lomku pre adresáre, inak sa nebudú správne zálohovať.

Skontrolujte, či bola úloha crontab úspešne pridaná pomocou príkazu.

crontab -l

Ak vidíte úlohu crontab, ktorá bola práve pridaná, potom je všetko na svojom mieste. Počkajte 15 minút, skontrolujte vzdialený server a mali by tam byť všetky potrebné súbory. Odteraz sa všetky zmeny vykonané vo vašich súboroch budú každých 15 minút automaticky odosielať na vzdialený server.

Stiahnite si zo vzdialeného servera

Môžete tiež použiť rsync sťahovať súbory zo vzdialeného servera a synchronizovať ich s lokálnym počítačom. Pomocou vyššie uvedeného príkladu adresára /Documents spustite v termináli príkaz:

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

The ~./Dokumenty adresár na vašom lokálnom PC by teraz mal byť zrkadlovým obrazom vzdialeného servera.

Zahrnúť a vylúčiť vzory

Ak budete niekedy potrebovať synchronizovať iba súbory, ktoré zodpovedajú určitému vzoru, napríklad end with .html môžete použiť --zahŕňať vzor. V termináli spustite príkaz.

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

Skontrolujte vzdialený server a uvidíte, že do vzdialeného adresára /public_html/ boli nahrané iba súbory s príponou .html z lokálneho adresára /mysite/. Podobne môžete tiež synchronizovať všetko okrem určitých súborov s -- vylúčiť možnosť. Napríklad nasledujúci príkaz zosynchronizuje všetky súbory okrem súborov s a .TXT rozšírenie.

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

Synchronizujte dva miestne adresáre

V prípade potreby môžete pomocou príkazu synchronizovať aj dva lokálne adresáre.

rsync -zvr ~/zdroj/adresár ~/cieľ/adresár

Tento príkaz funguje úplne rovnako ako pri synchronizácii so vzdialeným serverom, jediným rozdielom sú dva lokálne adresáre.

Odpočívaj

Teraz si môžete vydýchnuť s vedomím, že vaše šance na stratu údajov sú teraz podstatne nižšie. V tomto článku ste sa dozvedeli čo rsync je, ako vygenerovať a nainštalovať kľúč SSH, definovať server v rámci ~./.ssh/config súbor, synchronizovať lokálny a vzdialený adresár a automatizovať celý proces cez crontab. Odteraz budú všetky potrebné súbory vždy synchronizované so vzdialeným serverom iba s 15-minútovým oneskorením.

Email
Ako klonovať pevný disk Linuxu: 4 metódy

Potrebujete naklonovať pevný disk alebo oblasť systému Linux? Na klonovanie disku so systémom Linux použite jeden z týchto nástrojov na klonovanie jednotky.

Súvisiace témy
  • Linux
  • Zálohovanie dát
  • Linux
  • Cloudové zálohovanie
  • Domáca sieť
O autorovi
Matt Dizak (13 publikovaných článkov)Viac od Matta Dizaka

Prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné e-knihy a exkluzívne ponuky!

Ešte jeden krok…!

Potvrďte svoju e-mailovú adresu v e-maile, ktorý sme vám práve poslali.

.