VPN арқылы rsync: үзілген тасымалды қайта пайдаланатын қайта әрекет
Үзілген туннель қосылымды тоқтатады, деректерді емес. Үзіндіні --partial-dir арқылы сақтаңыз, сол көшірмені қайта іске қосыңыз және файлды жарияламас бұрын тексеріңіз.
Сіздің жүктеуіңіз он екі гигабайттық мұрағаттың төрт гигабайтында тоқтайды, ал жүктеу менеджерлерінен үйренген әдет «жалғастыру» батырмасын басуды айтады. rsync TCP ағынын жалғастырмайды, өйткені бұл ағын туннельдің соңғы қайта жіберілуімен бірге кетті. Ол жасай алатыны — әлдеқашан қабылданған байттарды сақтап, оларды келесі әрекеттің негізі ретінде пайдалану, бұл басқа ережелер жиынтығы бар басқа механизм. Сіз таңдаған жалаушалар бұл қайта пайдаланудың жалпы орындалатынын анықтайды.
Қайта әрекет күйді қайта құрады, ағынды жалғастырмайды
SSH сессиясы үзілгенде, алыс жақта тек дискіге жазылғаны қалады, басқа ештеңе жоқ. Қайта жалғануға арналған сессия токені де, қайта ойнатуға арналған реттік нөмір де жоқ. Келесі іске қосу жаңа қосылым ашады, көзді қайта оқиды және қабылдаушыдан оның не бар екенін сұрайды.
Осы соңғы сұрақ жартылай файлды сақтаудың неге тұрарлық екенін түсіндіреді. Қабылдаушының көшірмесі rsync-ке салыстыратын нәрсе береді, ал алгоритм тек анықтай алатын айырмашылықтарды жібереді. Бұл әлі де метадеректердің жаңа тасымалы және көздің жаңа айналымы, сондықтан үнемделген уақыт файлдың қаншалықты сәйкес келетініне пропорционал, алдыңғы қосылымның қаншалықты ілгерілегеніне емес. Егер қабылдаушы ештеңе сақтамаса, келесі әрекет толық көшірме, біріншісі қанша гигабайт жылжытса да.
Қайта пайдалануға болатын үзінді қайда тұратынын шешіңіз
Әдепкі әрекет жартылай файлды межелік жолға жазады, бұл жартылай жазылған мұрағатты соңғы атаумен көрінетін етеді. --partial-dir оны өзіңіз таңдаған қалтаға жылжытады, ал нұсқаулық бұл қалтаны кейінгі тасымал деректер ретінде пайдалану үшін сақталған деп сипаттайды. Салыстырмалы атау межелік қалтаның астында шешіледі, екі ұшының орналасуы әртүрлі болуы мүмкін кезде дәл осы қажет.
rsync -e ssh --partial-dir=.rsync-partial --info=progress2 -- \
large-archive.bin [email protected]:/srv/incoming/
Межелікте де тәртіп маңызды: жартылай қалтаға үзінді үшін жеткілікті орын керек, ал томға аяқталған файл үшін де жеткілікті орын керек. Тасымал ортасында нысаналы томды толтыру желі мәселесіне ұқсайтын, бірақ олай емес сәтсіздік тудырады және сақталған үзіндіні кесілген күйде қалдыруы мүмкін. Іске қосу басталмай тұрып қабылдаушы хосттағы бос орынды тексеріңіз, сәтсіздіктен кейін емес. Сол SSH жолымен df -h арқылы бірнеше секунд — жоспардың ең арзан мүмкін сынағы.
Рұқсаттар кішірек, бірақ нақты алаңдаушылық. Байланысы жоқ тіркелгілер жаза алатын жартылай қалта басқа біреуге келесі іске қосуыңыз қабылданған деп санайтын мазмұнды алмастыруға мүмкіндік береді. Оны тасымал тіркелгісінің меншігінде ұстаңыз және басқа қызметтер жариялайтын жерге қоймаңыз.
Сол көшірмені іске қосыңыз, ақылдырақ көшірмені емес
Қайта пайдалану тек көз бен межелік әлі де сол нысанды сипаттағанда ғана қолданылады. Сол жол, сол атау, сол файл. Көздің атын өзгерту немесе басқа межелік қалтаны көрсету пайдалы ештеңемен жаңа салыстыруды бастайды.
Дельта әрекетін күтіп --whole-file қоспаңыз. Бұл опция rsync-ке бүкіл файлды дөңгелек бақылау сомасын салыстырусыз көшіруді айтады, бұл жылдам жергілікті байланыста орынды таңдау және сәтсіз алыс қашықтыққа жүктеуден кейін дәл қате таңдау. --inplace те әңгімені өзгертеді: ол тікелей межелік файлға жазады, сондықтан үзіліс ескі мен жаңа мазмұнды араластыратын, артқа шегінетін бөлек үзіндісі жоқ файл қалдырады.
Ілгерілеу жолы тасымалдың жиынтық ілгерілеуін хабарлайды. Бұл аяқталу сигналы емес. Қосылым әлі ашық тұрғанда жүз пайызға жеткен сан деректердің итерілгенін білдіреді, қабылдаушының бірдеңені қайта атағанын, синхрондағанын немесе қабылдағанын емес.
Нысанды тек сәйкес келгеннен кейін қабылдаңыз
Алдымен шығу мәртебесін растаңыз, содан кейін қателердің жоқтығына сенудің орнына нәтижені салыстырыңыз. Өлшем тексеруі кесілген тасымалдардың көбін ұстайды; бақылау сомасын салыстыру қалғанын ұстайды, және екеуі де жүктеуді қайта іске қосумен салыстырғанда арзан.
Егер мұрағатты төменгі процесс жариялайтын болса, сол процесті қабылданған файлды күтуге мәжбүр етіңіз. Соңғы атаумен бақыланатын қалтаға түсетін сақталған үзіндіні келесі скан алады, ал тұтынушының қатесі ешқашан аяқталмаған тасымал туралы емес, бүлінген кіріс туралы болады.
Қабылдаушы растағанша көзге тиіспеңіз. Әрекеттер арасында мұрағатты қайта жасау салыстыру негізін өзгертеді, ал келесі іске қосу не барлығын дерлік тасымалдайды, не ескі де, жаңа көзге де сәйкес келмейтін файл жасайды.
Шектеу жалауша емес, байланыс болғанда
Тақырыпша мен хаттама үстемесі тасымалдың бір шығыны, және үлкен файлдың қанша уақыт алатынын сирек сол анықтайды. Қайта іске қосу мінез-құлқы маңыздырақ: қолмен қадамсыз үзілістен аман қалатын әдіс қайта бастауға мәжбүр жылдамырақ әдістен ертерек пайдалануға жарамды файл береді. Екі ұштағы сақтау және аутентификация жолы сол салыстыруға кіреді.
Рұқсат етілген балама жолдарды сол файлмен және сол межелікпен салыстырыңыз және үзілістен кейін әрқайсысы қайдан қайта басталатынын жазып алыңыз. Сол бір баған VPN арқылы он екі гигабайттық жүктеу туралы қысқа сынақта өлшенген кез келген шыңдық жылдамдықтан көбірек айтады.