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:
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.
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.
- Linux
- Zálohovanie dát
- Linux
- Cloudové zálohovanie
- Domáca sieť
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.