Өзгерістер жасамас бұрын файлдарды қалпына келтіру үшін қауіпсіз жерде сақтау пайдалы болуы мүмкін. Rsync утилитасы файлдардың тек өзгертілген бөліктерін көшіру арқылы трафикті азайтатын осы тапсырманы орындауға көмектеседі.
Ең алдымен, пакетті екі серверге де орнатайық, егер ол бұрыннан жоқ болса. Біз келесі пәрменді қолданамыз:
sudo apt-get install rsync (CentOS үшін apt-get орнына yum пайдаланыңыз)
Қашықтағы серверден көшіру үшін бізге, әрине, оған кіру қажет, өйткені көшіруді бастамас бұрын құпия сөзді енгізуіміз керек. Біздің мысалда деректер /remote/source каталогынан /local/destination каталогына көшіріледі және каталог жоқ болса, ол жасалады және ондағы файлдар қайта жазылмайды:
rsync -avzP --stats [email protected]:/remote/source/ /local/destination/
- -a күндер, символдық сілтемелер және файл рұқсаттары туралы ақпаратты сақтайды
- -z деректерді мұрағаттайды
- -v бағдарлама жұмысы кезінде хабарлардың нақтылығын арттырады
- -P «прогресс» (көшіру кезінде прогресті көрсету) және «жартылай» (сілтеме бұзылған кезде көшіруді жалғастыру үшін) біріктіреді.
Егер сіз бәрі жақсы екеніне көз жеткізгіңіз келсе, «құрғақ іске қосу» опциясын қосымша қосуға болады — бұл жағдайда қызметтік бағдарлама журнал жазбасымен көшіруді модельдеуді бастайды, бірақ файлдарды нақты көшіру болмайды.
Қашықтағы серверге көшіру үшін көшірме жасалатын каталог үшін қосылымды орнатыңыз:
rsync -avzP --stats /local/source/ [email protected]:/remote/destination/
Жабу қиғаш сызық туралы ескертпе:
Каталогқа жолды дереккөз ретінде көрсеткенде, каталог атауының соңындағы қиғаш сызыққа – / символына назар аудару керек. Жабылатын қиғаш сызық ішкі мазмұнды білдіреді, яғни /source/ қиғаш сызықпен аяқталса, rsync /source/ мазмұнын /деstination/ ішіне көшіреді. Бірақ /source ішінде қиғаш сызық болмаса, rsync /destination/ ішінде dir каталогын жасайды және /source/ барлық мазмұнын /destination/source/ ішіне көшіреді. Көшірме болатын каталогтың атауында қиғаш сызықтың болуы немесе болмауы маңызды емес.
Дереккөздер:
- https://help.ubuntu.com/community/rsync
- https://www.servers.ru/knowledge/linux-administration/how-to-copy-files-between-linux-servers-using-rsync