Таны байршуулалт арван хоёр гигабайтын архивын дөрвөн гигабайт дээр зогсож, татаж авагчдын удирдлагуудаас сурсан зуршил үргэлжлүүлэх дар гэж хэлдэг. 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-ээр арван хоёр гигабайтын байршуулалтын тухай богино сорилтод хэмжсэн ямар ч оргил хурднаас илүү ихийг хэлнэ.

Холбоотой нийтлэлүүд