Príkaz rsync cez SSH je jednou z najpragmatickejších metód Linuxu na rýchly, bezpečný a bezporuchový prenos veľkých súborov medzi dvoma servermi. Obzvlášť pri prenose webových súborov s veľkosťou stovky GB, zálohovacích archívov, multimediálnych priečinkov alebo aplikačných dát, rsync poskytuje značnú rýchlostnú výhodu v porovnaní s klasickými metódami kópií, pretože prenáša iba zmenené bloky. Základná myšlienka použitia je nasledovná: súbory na zdrojovom serveri sú šifrovane synchronizované na cieľový server cez SSH tunel; ak sa pripojenie preruší, proces sa môže obnoviť od miesta, kde sa zastavil.
Prenos serverov, aktualizácia hostingu, zmena dátového centra alebo zálohovacie operácie si vyžadujú nielen rýchlosť, ale aj integritu údajov. Sťahovanie a opätovné nahrávanie veľkého archívu v jednom kuse nielenže zaberá čas, ale môže vás prinútiť začať odznova pri výpadkoch pripojenia. Tu prichádza rsync, ktorý dokáže uchovávať časové pečiatky súborov, povolenia, informácie o vlastníctve a štruktúru priečinkov. Preto je často preferovaný systémovými administrátormi Linuxu, tímami DevOps a odborníkmi na webhosting pri každodenných operáciách.
V tejto príručke sa podrobne pozrieme na proces prenosu veľkých súborov medzi dvoma Linuxovými servermi pomocou rsync cez SSH, vrátane skutočných príkladov príkazov krok za krokom. Taktiež zdieľame parametre na zvýšenie výkonu, bezpečnostné kontroly, scenáre chýb, metódy testovacieho prenosu a body, na ktoré by ste mali dávať pozor pred prechodom do produkčného prostredia. Ak plánujete prechod na nový VPS alebo hostingové prostredie, predtým, než začnete, uistite sa, že máte dostatočné miesto na disku, prístup cez SSH a správne povolenia používateľa na zdrojovom a cieľovom serveri. Pre vhodný výber infraštruktúry si môžete pozrieť Hostragons riešenia VPS servera a Balíky Linux hostingu.
Čo je rsync a prečo sa preferuje pri prenose veľkých súborov?
Rsync je silný nástroj príkazového riadku, ktorý slúži na synchronizáciu súborov a priečinkov medzi lokálnym systémom a vzdialenými servermi. Jeho najdôležitejšou vlastnosťou je algoritmus delta transferu. Tento algoritmus prenáša iba zmenené časti súboru namiesto toho, aby zakaždým posielal celý súbor. Napríklad, ak sa v zálohovacom súbore s veľkosťou 80 GB zmení len 2 GB, je možné preniesť iba zmenené bloky, a nie celý súbor.
SSH, na druhej strane, zabezpečuje šifrovanie prenosu. Takže príkaz rsync pri prenose údajov cez sieť neodovzdáva obsah súborov ako čistý text. Táto vlastnosť je obzvlášť dôležitá pre zákaznícke údaje, záznamy objednávok v e-commerce, multimediálne archívy, zálohy databáz a špeciálne aplikačné súbory. V oblasti hostingu nie je bezpečnosť údajov obmedzená iba na SSL certifikáty; prenosový kanál medzi servermi musí byť tiež bezpečný. Pri prevádzke webovej stránky je vhodné používať certifikát SSL, zatiaľ čo pri prenosoch súborov medzi servermi by sa mala preferovať šifrovanie pomocou SSH.
Rsync je flexibilnejší ako metódy ako FTP alebo manuálne sťahovanie a nahrávanie. Môže uchovávať povolenia, prenášať symbolické odkazy, mazať vymazané súbory aj na cieľovom mieste, obmedzovať šírku pásma a testovať, čo sa má vykonať pred prenosom. Na rizikových operáciách, ako je prenos veľkých súborov, poskytuje tento úroveň kontroly významné výhody.
Kedy by ste mali použiť príkaz rsync cez SSH?
Príkaz rsync cez SSH je ideálny najmä na prenos veľkých súborov, veľkého množstva súborov alebo súborov, ktoré sa často menia. Pre jednoduchý vizuálny priečinok môže byť manuálne SFTP dostatočné; avšak pri tisícoch súborov, rôznych povoleniach a veľkých archívoch sa rsync stáva oveľa spoľahlivejšou voľbou.
- Pri prenose webovej stránky zo starého servera na nový VPS server.
- Ak prenášate priečinky obsahujúce tisíce multimediálnych súborov, ako je priečinok WordPress uploads.
- Pri kopírovaní dennej, týždennej alebo mesačnej zálohy na iný server.
- Pri zmene dátového centra alebo poskytovateľa hostingu.
- Ak synchronizujete aplikačné súbory medzi produkčným a záložným prostredím.
- Pri plánovaní dlhodobých prenosov, pri ktorých je pravdepodobnosť prerušenia pripojenia.
Napríklad, ak chcete stiahnuť 250 GB multimediálny priečinok na svoj desktop a potom ho nahradiť na nový server, znamená to, že musíte vykonať dva samostatné prenosy. To predlžuje celkový čas a môže spôsobiť, že internetové pripojenie vo vašej domácnosti alebo kancelárii sa stáva úzkym hrdlom. S rsync môžete priamo prenášať z zdrojového servera na cieľový server a eliminovať týmto medzičlánok.
Čo potrebujete pred začatím?
Na úspešnú operáciu rsync nestačí len vedieť príkaz. Kontrola podmienok na zdrojovom a cieľovom serveri pomôže znížiť riziko straty údajov alebo prerušenia prenosu. Nasledujúce kontroly by sa mali vždy vykonať v produkčných prostrediach.
1. Overte prístup cez SSH
Musí byť možné nadviazať SSH pripojenie zo zdrojového servera na cieľový server. Štandardné pripojenie sa testuje nasledovne: ssh uzivatel@cieľový-server-ip. Ak SSH pracuje na inom porte, pripojenie sa vyskúša takto: ssh -p 2222 uzivatel@cieľový-server-ip. Ak tento test zlyhá, rsync nebude fungovať. Je potrebné skontrolovať firewall, Fail2ban, port SSH, oprávnenia používateľa a overenie hesla alebo kľúča.
2. Overte, že balík rsync je nainštalovaný
Vo väčšine distribúcií Linuxu je rsync predinštalovaný; aj tak sa to musí skontrolovať. V systémoch založených na Debiane a Ubuntu sa môže použiť príkaz rsync --version. Ak nie je nainštalovaný, môže sa nainštalovať pomocou príkazu apt install rsync. V distribúciách ako AlmaLinux, Rocky Linux alebo CentOS sa preferuje príkaz dnf install rsync alebo yum install rsync. Ak používate Linuxom založený VPS na Hostragons, inštalácia zvyčajne trvá len niekoľko sekúnd.
3. Vypočítajte voľné miesto na disku
Ak na cieľovom serveri nie je dostatok voľného miesta, prenos sa zastaví. Na zistenie veľkosti zdrojového priečinka sa môže použiť príkaz du -sh /zdrojový/priečinok. Na cieľovom serveri by sa mal skontrolovať stav disku pomocou príkazu df -h. V praxi by mali byť rezervované miesta nielen na veľkosť súborov, ale aj na dočasné súbory a logy. Napríklad, ak prenášate 500 GB dát, je lepšie plánovať na cieľovom serveri minimálne 550-600 GB dostupného miesta.
4. Naplánujte kritické služby a zmenené súbory
Na živých webových stránkach sa súbory môžu počas prenosu meniť. Obzvlášť sa neustále aktualizujú používateľské nahrávky, cache priečinky a logy. Pri veľkých prenosoch sa najprv prenáša hlavný obsah, následne sa spustí údržbový režim a vykoná sa posledný rsync. Týmto spôsobom sa čas výpadku môže skrátiť na niekoľko minút. Pre WordPress stránky môžete doplniť svoj plán pomocou podporných materiálov, ako je Sprievodca presunom WordPress hostingu.
Základný príkaz rsync: Prenos súborov medzi dvoma servermi
Najčastejšie používaná základná štruktúra je: rsync -avz /zdrojový/priečinok/ uzivatel@cieľ-ip:/cieľový/priečinok/. Tu -a je archívny režim, ktorý sa snaží uchovať povolenia, časové pečiatky, symbolické odkazy a podobné informácie. -v poskytuje podrobný výstup. -z aplikuje kompresiu počas prenosu. Dôležitý detail je lomítko na konci priečinka. Ak napíšete /zdrojový/priečinok/, obsah priečinka sa skopíruje na cieľ; ak napíšete /zdrojový/priečinok, vytvorí sa priečinok sám v cieľovom umiestnení.
Predstavme si príklad: Chcete preniesť 180 GB webových súborov z priečinka /var/www/site/public_html/ na nový server do priečinka /var/www/site/public_html/. Príkaz funguje nasledovne: rsync -avz /var/www/site/public_html/ root@203.0.113.20:/var/www/site/public_html/. Tento proces prenáša súbory zo zdrojového servera na cieľový server cez SSH.
Ak nechcete používať root, je bezpečnejšie vytvoriť na cieľovom serveri špeciálneho používateľa, ktorý má oprávnenie zapisovať do príslušného priečinka. Napríklad môžete použiť používateľa s názvom deploy a nastaviť vlastníctvo priečinka podľa toho. V produkčných prostrediach je priame používanie root praktické, ale z hľadiska bezpečnosti sa odporúča používať používateľa s obmedzenými oprávneniami.
Odporúčané bezpečné a odolné parametre rsync
Nie je vždy správne spoliehať sa iba na základný príkaz pri prenose veľkých súborov. Je potrebné použiť ďalšie parametre na prerušenie pripojenia, čiastočné súbory, nesprávne mazania alebo pomalé siete. Nasledujúci príkaz je robustným východiskovým bodom pre mnohé reálne prenosové scenáre:
rsync -aHAXv --numeric-ids --partial --progress --append-verify -e ssh /zdrojový/priečinok/ uzivatel@cieľ-ip:/cieľový/priečinok/
V tomto príkaze -a pomáha uchovávať archívny režim, -H uchováva informácie o pevných odkazoch, -A uchováva ACL povolenia a -X uchováva hodnoty rozšírených atribútov. --numeric-ids sa zakladá na ID hodnotách, nie na menách používateľov a skupín; to môže byť užitočné, keď sa mená používateľov na rôznych serveroch líšia. --partial ponecháva neúplné súbory bez vymazania. --progress zobrazuje stav prenosu. --append-verify pomáha overiť pridanú časť, keď veľké súbory pokračujú od miesta, kde sa prenos zastavil.
Každý parameter nemusí byť potrebný na každom systéme. Napríklad pri jednoduchom prenose webovej stránky môže byť použitie -aHAX dostatočné, zatiaľ čo v aplikáciách, ktoré používajú špeciálne povolenia súborov, sa stáva uchovávanie informácií o ACL a rozšírených atribútoch kriticky dôležité. Preto je dôležité najprv vykonať testovací prenos.
Ak používate iný port SSH, ako by mal byť príkaz?
Pre bezpečnosť môže SSH fungovať na inom porte ako 22. V takom prípade je potrebné uviesť parameter SSH v rsync. Príklad: rsync -avz -e ssh -p 2222 /zdrojový/priečinok/ uzivatel@cieľ-ip:/cieľový/priečinok/. Avšak hodnota parametra -e musí byť použitá spolu s príkazovým riadkom. Správna logika použitia je: rsync -avz -e 'ssh -p 2222' /zdrojový/priečinok/ uzivatel@cieľ-ip:/cieľový/priečinok/.
V niektorých paneloch a JSON môže použitie jednoduchých úvodzoviek správať inak, preto sa uistite, že úvodzovky sú správne, keď píšete priamo v termináli. Ak sa pripojujete pomocou SSH kľúča, môžete pridať aj parameter -i: rsync -avz -e 'ssh -p 2222 -i /root/.ssh/id_rsa' /zdrojový/priečinok/ uzivatel@cieľ-ip:/cieľový/priečinok/. Táto metóda sa často používa v automatizácii a zálohovacích úlohách založených na crone.
Test pred prenosom: Použitie --dry-run
Jedným z najprofesionálnejších krokov pred prenosom veľkých údajov je použitie --dry-run. Tento parameter skutočne nekopíruje súbory; iba ukazuje, ktoré súbory budú prenesené. Týmto spôsobom je možné vopred odhaliť nesprávny priečinok, chybné cieľové cesty alebo neočakávané mazacie operácie.
Príklad testovacieho príkazu: rsync -avz --dry-run /var/www/site/ uzivatel@cieľ-ip:/var/www/site/. Vo výstupe uvidíte prenášané súbory, vytvorené priečinky a zhrnutie operácie. Ak plánujete použiť parameter --delete, suchý beh sa stáva ešte kritickejším. Pretože --delete môže vymazať súbory, ktoré neexistujú v zdroji na cieľovom mieste. Pri správnom použití privedie cieľ na presnú zrkadlovú kópiu; pri použití v nesprávnom priečinku môže spôsobiť vážnu stratu údajov.
Profesionálny postup zvyčajne vyzerá takto: najprv sa vykoná testovanie SSH, potom sa skontroluje miesto na disku, následne sa spustí rsync --dry-run, vykoná sa reálny test s malým priečinkom a potom sa spustí hlavný prenos. Tento prístup si vyžaduje niekoľko minút navyše, ale zabráni chybám, ktoré by mohli trvať hodiny.
Parametre na zlepšenie výkonu: kompresia, šírka pásma a nastavenia šifrovania
Výkon rsync nie je závislý len od veľkosti súboru. Dôležité sú aj CPU výkon serverov, typ disku, oneskorenie siete, šírka pásma a počet súborov. Veľké množstvo malých súborov môže byť prenášané pomalšie ako jeden veľký súbor; pretože pre každý súbor sa vykonávajú operácie s metadátami. V prostrediach VPS s NVMe diskmi môže byť skenovanie a zápis súborov výrazne lepší. Preto, ak plánujete intenzívne prenosy, je rozumné zvážiť server NVMe VPS.
Parameter -z na kompresiu je užitočný pre textové súbory, logy a niektoré typy záloh. Avšak pre už komprimované súbory ako zip, tar.gz, jpg, mp4 alebo gzip môže byť spotreba CPU a prínos nevhodný. Pri prenose veľkých multimediálnych súborov medzi dvoma výkonnými servermi s pripojením 1 Gbps môžete dosiahnuť lepší výkon bez použitia -z. Naopak, pri nízkej šírke pásma a textovo ťažkých súboroch môže -z poskytnúť výrazné úspory.
Na obmedzenie šírky pásma sa môže použiť --bwlimit. Napríklad --bwlimit=50000 obmedzí rýchlosť na približne 50 MB/s. To je dôležité, aby sa predišlo zahlteniu sieťového prenosu živého webu. V čase špičky na produkčnom serveri môže plná rýchlosť prenosu negatívne ovplyvniť skúsenosti návštevníkov. Plánovanie prenosu na nočné hodiny, obmedzenie šírky pásma a sledovanie hodnôt load average počas procesu sú dobré prax.
Porovnanie rsync, scp, SFTP a FTP

Existuje viacero metód na prenos súborov; avšak každá metóda má svoje silné a slabé stránky. Nasledujúca tabuľka sumarizuje, ktorá metóda je najvhodnejšia pre prenos veľkých súborov a serverov.
| Metóda | Bezpečnosť | Pokračovanie od miesta, kde sa zastavilo | Výkon pri veľkých súboroch | Najvhodnejšie použitie |
|---|---|---|---|---|
| rsync + SSH | Vysoká | Silná | Veľmi dobrá | Prenos serverov, zálohovanie, synchronizácia |
| scp | Vysoká | Obmedzená | Stredná | Rýchle kopírovanie malého počtu súborov |
| SFTP | Vysoká | Podľa klienta | Stredná | Manuálne spravovanie súborov |
| FTP | Nízka | Podľa klienta | Variabilná | Starejšie systémy, keď nie je kritická bezpečnosť |
Z tabuľky je zrejmé, že rsync vyniká najmä pri opakovaných synchronizáciách a prenose veľkých údajov. scp je jednoduché a praktické, ale nie je tak silné ako rsync pri inteligentnom rozpoznávaní zmenených súborov. Na druhej strane, FTP nie je pri použití bez šifrovania vhodné pre moderné bezpečnostné štandardy. FTP prístup môže byť praktický v hostingových paneloch; avšak pri kritických prenosoch medzi servermi by mali byť uprednostňované metódy založené na SSH.
Príklad pracovného postupu pri prenose živého webu
Cieľom prenosu webovej stránky zo starého servera na nový server nie je len kopírovať súbory. Je potrebné skontrolovať aj DNS, databázu, SSL, verziu PHP, povolenia súborov a konfiguráciu e-mailu. Nižšie je uvedený príklad pracovného postupu pre webovú stránku s veľkými súbormi, ktorý minimalizuje výpadky.
- Na novom serveri pripravte webový server, PHP, databázu a potrebné moduly.
- Pred prenosom znížte hodnotu DNS TTL domény na nízku hodnotu, ako je 300 sekúnd. Pre správu domén môžete využiť Kontrola domény a správa domény.
- Spustite prvý rsync prenos, keď je stránka aktívna. Tento krok prenesie väčšinu veľkých údajov.
- Urobte zálohu databázy a preneste ju na nový server.
- Stránku na krátku dobu prepnite do režimu údržby.
- Spustite druhý rsync príkaz na synchronizáciu posledných zmenených súborov.
- Znovu aktualizujte databázu alebo použite inkrementálnu stratégiu.
- Na novom serveri skontrolujte povolenia súborov, spustenie stránky a logy.
- Nainštalujte alebo obnovte SSL certifikát. Pre túto úlohu môže byť užitočný obsah inštalácia certifikátu SSL.
- Presmerujte DNS záznamy na novú IP adresu.
V tejto metóde sa najdlhší čas venovaný prenosu hlavných súborov vykonáva, keď je stránka stále aktívna. Výpadok nastáva iba počas poslednej synchronizácie a prechodu DNS. Tento prístup môže u WordPress stránok s veľkými multimediálnymi archívmi skrátiť výpadok z hodín na niekoľko minút.
Kontrola integrity údajov
Keď je prenos dokončený, nie je dostatočné len to, že príkaz skončil. Je potrebné skontrolovať počet súborov, ich veľkosti a kritické súbory. Pre jednoduchú kontrolu je možné porovnať veľkosti priečinkov na zdrojovom a cieľovom serveri pomocou príkazu du -sh. Avšak hodnoty nemusia vyzerať identicky kvôli rozdielom v blokoch súborového systému. Pre podrobnejšiu kontrolu je možné rsync spustiť znova so rovnakými parametrami. Ak už nie sú k dispozícii žiadne nové súbory na prenos, výstup bude minimálny.
Na overenie checksumu možno použiť rsync -avc --dry-run /zdrojový/priečinok/ uzivatel@cieľ-ip:/cieľový/priečinok/. Parametr -c porovná súbory nielen podľa časovej pečiatky a veľkosti, ale aj podľa checksumu. Môže spôsobiť zaťaženie CPU a disku, preto je potrebné ho používať opatrne. Tento dodatočný kontrola poskytuje istotu pre kritické archívy, zálohy databáz alebo dokumenty klientov.
Ak ste preniesli webovú stránku, vykonajte aj kontrolu na aplikačnej úrovni. Je potrebné preskúmať hlavnú stránku, administračný panel, nahrávanie obrázkov, stránku na platby, kontaktný formulár a error logy. Pre e-commerce stránky nie je dostatočné len preniesť súbory; je potrebné aj testovanie platobných integrácií a cron úloh na novom serveri.
Bežné chyby a ich riešenia
Hláška "Permission denied"
Táto chyba sa zvyčajne vyskytuje kvôli oprávneniam SSH používateľa, oprávneniu na zápis do cieľového priečinka alebo overeniu kľúča. Najprv sa pokúste nadviazať normálne SSH pripojenie s rovnakým používateľom. Ak je pripojenie úspešné, skúste vytvoriť súbor v cieľovom priečinku. Ak je to potrebné, priraďte vlastníctvo cieľového priečinka pomocou príkazu chown príslušnému používateľovi alebo naplánujte stratégiu založenú na sudo.
Hláška "No space left on device"
Keď na cieľovom disku nie je dostatočné miesto, prenos sa zastaví. Skontrolujte diskové oddiely pomocou príkazu df -h. Niekedy hlavný disk nie je plný, ale /tmp alebo cieľový mount bod môže byť zaplnený. Pri veľkých prenosoch je možné vyčistiť logy, staré zálohy a cache priečinky. Pre trvalé riešenie môže byť potrebné zväčšiť disk alebo prejsť na VPS plán s vyššou kapacitou.
Hláška "Connection reset" alebo "Broken pipe"
Počas dlhých prenosov môže dôjsť k sieťovému prerušenie. Ak používate --partial a --append-verify, môžete príkaz znova spustiť a pokračovať tam, kde ste prestali. Taktiež môžu pomôcť nastavenia SSH keepalive. Na strane klienta môže nastavenie ServerAliveInterval 60 znížiť pravdepodobnosť odpojenia pri nečinnosti.
Pomalý prenos
Pomalosť môže byť spôsobená počtom súborov, limitom I/O disku, záťažou na kompresiu alebo kapacitou siete. Ak máte veľké množstvo malých súborov, môže byť v niektorých prípadoch rýchlejšie najprv vytvoriť tar archív; avšak v tomto prípade sa výhoda rsync pri zmenách na úrovni súborov znižuje. Testujte bez parametra -z pri veľkých a už komprimovaných súboroch. Taktiež použite nástroje ako iotop, htop a iftop na určenie, či je úzkym hrdlom CPU, disk alebo sieť.
Najlepšie postupy pre bezpečnosť
Pri prenose súborov medzi servermi by sa nemala zanedbávať bezpečnosť. Obzvlášť prístup root, SSH kľúče a záložné súbory by mali byť považované za citlivé. Odporúča sa najprv používať SSH kľúč namiesto prístupového hesla. Oprávnenia súborov kľúčov by mali byť prísne, špeciálne kľúče by sa nemali zdieľať a ak je to možné, mali by byť chránené passphrase.
Vytvorenie dočasného používateľa pre prenos s prístupom iba k potrebným priečinkom je dobrá prax. Po dokončení operácie môžu byť oprávnenia tohto používateľa zrušené alebo účet deaktivovaný. Obmedzenie prístupu SSH na konkrétne IP adresy tiež znižuje útočnú plochu. Pravidlá firewallu, Fail2ban a aktuálna verzia OpenSSH by mali byť súčasťou základných kontrol.
Ak sa prenášajú zálohy databáz, dokumenty klientov alebo archívy obsahujúce osobné údaje, nemali by sa po prenose ponechávať zbytočné dočasné súbory na zdrojovom a cieľovom mieste. Zanechávanie zálohových súborov ako .sql, .zip alebo .tar pod webovým koreňovým priečinkom predstavuje vážne bezpečnostné riziko. Tieto súbory by sa mali uchovávať v priečinku, ktorý je, ak je to možné, uzavretý pre webový prístup, alebo by sa mali vymazať po dokončení operácie.
Použitie rsync na automatické zálohovanie
Rsync sa dá použiť nielen na jednorazový prenos, ale aj na pravidelné zálohovanie. Napríklad môžete definovať cron úlohu na nočné zálohovanie určitého priečinka na záložný server. V tomto scenári sa zabezpečuje bezpečné pripojenie bez hesla pomocou SSH kľúča, rsync prenáša iba zmenené súbory a môže sa aplikovať obmedzenie šírky pásma.
Príklad logiky: rsync -a --delete --bwlimit=30000 /var/www/site/ backup@yedek-ip:/backup/site/. Tento príkaz môže synchronizovať cieľový priečinok so zdrojovým. Avšak, kvôli parametru --delete je potrebné byť opatrný. Ak sa náhodou vymaže súbor v zdroji, vymaže sa aj na cieľovom mieste. Preto by sa mali v kritických zálohovacích stratégiách preferovať riešenia podporujúce snapshoty, denné priečinky alebo verziovanie.
V hostingových operáciách je dobrým referenčným bodom pravidlo 3-2-1 pre zálohovanie: Minimálne 3 kópie údajov by mali byť uložené na 2 rôznych médiách, pričom 1 kópia by mala byť na inej lokalite. Rsync prakticky uľahčuje kopírovanie časti tejto stratégie medzi servermi. Pre komplexnejšiu infraštruktúru môžete posilniť svoj plán pomocou obsahu Riešenia zálohovania a služby firemného hostingu.
Kontrolný zoznam pred posledným krokom
Pred spustením operácie prenosu veľkých súborov je dobré vykonať nasledujúci krátky zoznam, aby sa znížilo riziko chýb. Tento zoznam by sa mal najmä v produkčných prostrediach stať štandardným postupom.
- Je na zdrojovom a cieľovom serveri nainštalovaný rsync?
- Bol testovaný prístup SSH správnym používateľom a portom?
- Má cieľový server dostatočné miesto na disku?
- Bol prvý proces skontrolovaný pomocou --dry-run?
- Bol naplánovaný údržbový režim a posledná synchronizácia pre živú stránku?
- Ak sa použije --delete, bol cieľový priečinok dôkladne overený?
- Budú po prenose vykonané testy súborových veľkostí, povolení a aplikácie?
- Budú dočasné zálohy a dump súbory bezpečne vyčistené?
Aj keď sa tieto kontroly zdajú jednoduché, v skutočnosti najčastejšie problémy vznikajú z nesprávneho cieľového priečinka, chýbajúcich povolení, nedostatočného diskového miesta a neplánovaného prechodu DNS. Plánovaný proces rsync skráti čas prenosu a zvýši pravdepodobnosť návratu.
Často kladené otázky
Preruší sa prenos, ak sa pripojenie cez rsync cez SSH preruší?
Nie, ak sú použité správne parametre, prenos sa nezačne odznova. Možnosti --partial a --append-verify pomáhajú chrániť neúplné veľké súbory a umožňujú pokračovanie prenosu od miesta, kde sa zastavil, keď sa príkaz znovu spustí. Aj tak by bolo rozumné skontrolovať miesto na cieľovom disku a stav neúplných súborov pred opätovným spustením príkazu pri kritických prenosoch.
Môže sa priamo preniesť databáza pomocou rsync?
Rsync prenáša súbory; priamy prenos aktívnych databázových súborov nie je zdravý. Pre MySQL alebo MariaDB by sa mali používať nástroje ako mysqldump alebo nástroje na fyzické zálohovanie, pričom vytvorené záložné súbory by sa mali prenášať na cieľový server pomocou rsync. V živých systémoch by sa mala naplánovať stratégia údržby alebo replikácie pre zaručenie konzistencie údajov.
Je potrebné mať prístup root na oboch serveroch na použitie rsync?
Prístup root nie je potrebný. Používateľ s oprávnením zapisovať do cieľového priečinka je dostatočný. Ak však treba uchovávať vlastníctvo súborov, systémové priečinky, ACL alebo špeciálne povolenia, môžu byť potrebné vyššie oprávnenia. Z hľadiska bezpečnosti je lepšie pracovať s používateľom s obmedzenými oprávneniami, ak je to možné.
Je parameter --delete bezpečný?
Parameter --delete môže byť veľmi užitočný na synchronizáciu cieľového priečinka so zdrojom, ak sa používa správne; avšak, ak sa použije v nesprávnom cieľovom priečinku, môže to viesť k strate súborov. Preto by sa príkazy obsahujúce --delete mali vždy najprv testovať pomocou --dry-run a cesty zdroja a cieľa by mali byť starostlivo overené.
Je lepšie použiť rsync alebo scp pri prenose veľkých súborov?
Pri jednorazovom kopírovaní malého počtu súborov môže byť scp dostatočné; avšak pri veľkých súboroch, veľkom množstve súborov a opakovaných synchronizáciách je rsync zvyčajne lepší. Pretože dokáže rozpoznať zmenené dáta, môže pokračovať v prerušených prenosoch, obmedzovať šírku pásma a poskytovať testovací režim.
Zhrnutie a ďalšie kroky
Prenos veľkých súborov medzi dvoma servermi pomocou príkazu rsync cez SSH je rýchla, bezpečná a spravovateľná metóda. Správnymi parametrami sa stáva odolnejším voči prerušením pripojenia, prenáša iba zmenené súbory, čím šetrí čas a znižuje výpadky počas prenášania živých stránok. Pre dosiahnutie najlepších výsledkov najprv vykonajte kontroly SSH a disku, otestujte pomocou --dry-run a potom naplánujte hlavný prenos.
Ak plánujete prechod na nový server, vysokokapacitné úložisko alebo výkonnejšiu hostingovú infraštruktúru, môžete preskúmať riešenia Hostragons a urobiť svoj prenosový proces bezpečnejším pomocou VPS, hostingu, domény a SSL možností podľa vašich potrieb. Začnite s malými testami, merajte a plánovane vykonajte poslednú synchronizáciu pre bezproblémový prechod.