Yuklamangiz o'n ikki gigabaytlik arxivning to'rt gigabaytida to'xtaydi va yuklab olish menejerlaridan o'rganilgan odat davom ettirish tugmasini bosishni aytadi. rsync TCP oqimini davom ettirmaydi, chunki bu oqim tunnelning oxirgi qayta uzatishi bilan birga ketdi. Uning qila oladigani allaqachon qabul qilingan baytlarni saqlab, ularni keyingi urinish uchun asos sifatida ishlatishdir, bu boshqa qoidalar to'plamiga ega boshqa mexanizm. Siz tanlagan bayroqlar bu qayta ishlatish umuman bo'ladimi-yo'qmi shuni belgilaydi.

Qayta urinish holatni qayta quradi, oqimni davom ettirmaydi

SSH sessiyasi uzilganda, uzoq tomonda faqat diskka yozilgan narsa qoladi, boshqa hech narsa yo'q. Qayta ulanadigan sessiya tokeni ham, qayta o'ynaydigan tartib raqami ham yo'q. Keyingi yurish yangi ulanish ochadi, manbani yana o'qiydi va qabul qiluvchidan unda nima borligini so'raydi.

Aynan o'sha oxirgi savol nega qismli faylni saqlash arziydi deganini tushuntiradi. Qabul qiluvchining nusxasi rsync-ga solishtirish uchun narsa beradi va algoritm faqat aniqlay olgan farqlarni yuboradi. Bu hali ham metama'lumotlarning yangi uzatilishi va manba bo'ylab yangi o'tish, shuning uchun tejalgan vaqt faylning qancha qismi mos kelishiga proporsional, oldingi ulanish qanchalik ilgarilaganiga emas. Agar qabul qiluvchi hech narsa saqlamagan bo'lsa, keyingi urinish to'liq nusxa, birinchisi qancha gigabayt ko'chirgan bo'lsa ham.

Qayta ishlatiladigan parcha qayerda yashashini hal qiling

Odatiy xatti-harakat qismli faylni manzil yo'liga yozadi, bu yarim yozilgan arxivni yakuniy nom ostida ko'rinadigan qiladi. --partial-dir uni siz tanlagan katalogga ko'chiradi va qo'llanma bu katalogni keyingi uzatish tomonidan ma'lumot sifatida ishlatish uchun saqlangan deb ta'riflaydi. Nisbiy nom manzil katalogi ostida hal qilinadi, ikki tomonning tuzilishi har xil bo'lishi mumkin bo'lganda aynan shu kerak.

rsync -e ssh --partial-dir=.rsync-partial --info=progress2 -- \
  large-archive.bin [email protected]:/srv/incoming/

Manzilda ham tartib muhim: qismli katalog parcha uchun yetarli joy kerak, va jildga tugallangan fayl uchun ham yetarli joy kerak. Uzatish o'rtasida maqsad jildni to'ldirish tarmoq muammosiga o'xshaydigan, lekin unday bo'lmagan nosozlik keltiradi va saqlangan parchani kesilgan holda qoldirishi mumkin. Ishga tushishdan oldin qabul qiluvchi xostda bo'sh joyni tekshiring, muvaffaqiyatsizlikdan keyin emas. Xuddi shu SSH yo'li bo'ylab df -h bilan bir necha soniya rejaning eng arzon mumkin bo'lgan sinovi.

Ruxsatlar kichikroq, ammo haqiqiy tashvish. Aloqasiz hisoblar yoza oladigan qismli katalog boshqalarga keyingi yurishingiz allaqachon qabul qilingan deb hisoblaydigan tarkibni almashtirishga imkon beradi. Uni uzatish hisobining egaligida saqlang va boshqa xizmatlar nashr qiladigan joyga qo'ymang.

Xuddi shu nusxani ishga tushiring, aqlliroqini emas

Qayta ishlatish faqat manba va manzil hali ham bir xil obyektni ta'riflaganda amal qiladi. Xuddi shu yo'l, xuddi shu nom, xuddi shu fayl. Manbaning nomini o'zgartirish yoki boshqa manzil katalogini ko'rsatish foydali hech narsa bilan yangi solishtirishni boshlaydi.

Delta xatti-harakatini kutib --whole-file qo'shmang. Bu tanlov rsync-ga butun faylni aylanma nazorat summasi solishtirushisiz nusxalashni aytadi, bu tez mahalliy aloqada o'rinli va muvaffaqiyatsiz uzoq masofaga yuklashdan keyin aynan noto'g'ri. --inplace ham voqeani o'zgartiradi: to'g'ridan-to'g'ri manzil fayliga yozadi, shuning uchun to'xtatish eski va yangi tarkibni aralashtirgan, orqaga chekinadigan alohida parchasi yo'q faylni qoldiradi.

Jarayon satri uzatishning umumiy jarayonini xabar qiladi. Bu tugatish signali emas. Ulanish hali ochiq turganda raqam yuz foizga yetsa, ma'lumotlar itarilganini bildiradi, qabul qiluvchi biror narsani qayta nomlagan, sinxronlagan yoki qabul qilganini emas.

Obyektni faqat mos kelgandan keyin qabul qiling

Avval chiqish holatini tasdiqlang, so'ng xatolarning yo'qligiga ishonish o'rniga natijani solishtiring. O'lcham tekshiruvi kesilgan uzatishlarning ko'pini tutadi; nazorat summalari solishtiruvi qolganini tutadi va ikkisi ham yuklashni qayta ishga tushirishga qaraganda arzon.

Agar arxivni quyi jarayon nashr qilsa, o'sha jarayonni qabul qilingan faylni kutishga majbur qiling. Yakuniy nom ostida kuzatiladigan katalogga tushgan saqlangan parchani keyingi skan oladi va iste'molchining xatosi hech qachon tugamagan uzatish haqida emas, buzilgan kirish haqida bo'ladi.

Qabul qiluvchi tasdiqlamaguncha manbaga tegmang. Urinishlar orasida arxivni qayta yaratish solishtirish asosini o'zgartiradi va keyingi yurish deyarli hammasini uzatadi yoki na eski, na yangi manbaga mos keladigan fayl yaratadi.

Chegara bayroq emas, aloqa bo'lganda

Sarlavha va protokol qo'shimchasi uzatishning bir xarajati va katta fayl qancha vaqt olishini kamdan-kam aynan shu belgilaydi. Qayta boshlash xatti-harakati muhimroq: qo'l qadamlarisiz uzilishdan omon qoladigan usul qayta boshlashga majbur bo'lgan tezroq usuldan ertaroq foydalanishga yaroqli fayl beradi. Ikki uchdagi saqlash va autentifikatsiya yo'li xuddi shu solishtirishga kiradi.

Ruxsat etilgan muqobil yo'llarni xuddi shu fayl va xuddi shu manzil bilan solishtiring va har biri uzilishdan keyin qayerdan qayta boshlanishini yozib qo'ying. O'sha bitta ustun VPN orqali o'n ikki gigabaytlik yuklash haqida qisqa sinovda o'lchangan har qanday eng yuqori tezlikdan ko'proq gapiradi.

O'xshash maqolalar