rsync ба VPN: аль тал үнэний эх сурвалж вэ?
Туннель танд зам өгдөг, нэгтгэх бодлого өгдөггүй. Эрх бүхий хуулбарыг сонгож, нэг чиглэлийн хуулбарыг урьдчилан харж, дараа нь устгалууд дамждаг эсэхийг тусад нь шийдээрэй.
Хоёр сервер, нэг VPN, хоёр газарт байх ёстой нэг хавтас, мөн ажиллуулахад хялбар, буцаахад хэцүү нэг команд. Бичихээс өмнө аль хуулбар эрх бүхий болохыг шийдээрэй, учир нь дараах бүх rsync асуулт тэр хариултаас хамаарна. Нэг чиглэлийн реплик, хуваалцсан ажлын хавтас, хувилбартай архив нь өөрчлөлт, устгалд өөр өөр дүрэм шаарддаг. Туннель зам өгдөг бөгөөд тэдгээрийн аль нэгний талаар үзэл бодолгүй.
Команд бичихээс өмнө аль хуулбар ялахыг шийдээрэй
Чиглэлийг нэг өгүүлбэрээр бичээрэй, тал бүрийн хост нэр, замыг оруулан, мөн өгөгдлийн эзнээс зөвшөөрөл авна уу. Энэхүү тайлбарт эх сурвалж нь /srv/publish/, харин очих газар нь fileserver.example дээрх зөвхөн /srv/mirror/ дотор бичих эрхтэй бүртгэл юм.
Хуулахаас өмнө тээврийн баримтуудыг баталгаажуулна уу: SSH хост түлхүүр баталгаажсан, очих бүртгэл репликийн талбарт болон өөр хаана ч бичих боломжгүй, хоёр хост хоёулаа нийцтэй rsync хувилбартай. Эдгээр урьдчилсан нөхцөл нь жижиг төлөвлөлтийн алдааг зөвшөөрлийн осол болохоос сэргийлнэ. Тэд мөн ямар нэг зүйл буруу болох үед очих газрын бүртгэлд аль бүртгэл харагдахыг хэлнэ.
Хуулбарыг урьдчилан харж, дэлгэрэнгүй жагсаалтыг уншина уу
Хуулбарыг эхлээд урьдчилан харах тугийг ашиглан ажиллуулж, гаралтыг хадгална уу. Дэлгэрэнгүй өөрчлөлтүүд зам бүрт юу болохыг хэлнэ, энэ нь дараа авсан дүгнэлтээс хамаагүй ашигтай. Гаралтыг өөрчлөлтийн бүртгэлд хийвэл дараагийн ажиллуулалт харьцуулах зүйлтэй болно.
rsync -rt --dry-run --itemize-changes -e ssh -- /srv/publish/ [email protected]:/srv/mirror/
Төгсгөлийн налуу зураас чухал. Эх сурвалжийн талд энэ нь тэр хавтасны агуулгыг илэрхийлдэг бол орхивол эх сурвалжийн нэрээр нэрлэгдсэн нэмэлт хавтасны түвшин нэмэгдэнэ. rsync гарын авлага хоёр хэлбэрийг мета өгөгдөл хадгалах тугуудтай хамт тайлбарладаг бөгөөд танд хэрэгтэй сонголтын багц нь дадал биш өгөгдлөөс хамаарна.
Мөр бүрийг зорьсон очих газартай харьцуулан уншина уу. Урьдчилан харах тугийг авах нь хуулбарыг гүйцэтгэж, файлуудыг дарж бичиж болно, устгах сонголтгүй бол очих газарт аль хэдийн байгаа илүү файлууд зүгээр л байрандаа үлдэнэ. Энэ нь хоцрогдсон хуучин файлуудыг үлдээх нь хүлээн зөвшөөрөгдөх гэж үнэхээр шийдсэн тохиолдолд л аюулгүй өгөгдмөл юм. Хариулт үгүй бол энэ команд руу нэмэлт туг цацах биш, доорх устгах шийдвэрийг гаргах хэрэгтэй.
Дараа нь устгалууд дамждаг эсэхийг шийдээрэй
Очих газрыг толь болгох нь хоёр дахь шийдвэр, эхнийхийг нь боловсронгуй болгох биш. Үүнийг тусад нь урьдчилан хар, устгах туг нэмэгдэж, өөр юу ч өөрчлөгдөөгүй байг, ингэснээр жагсаалтын ялгаа бүхэлдээ тэр шийдвэрт хамаарна.
rsync -rt --delete --dry-run --itemize-changes -e ssh -- /srv/publish/ [email protected]:/srv/mirror/
Устгал нь синхрончлогдсон хүрээнд хүлээн авагч талын илүүдэл файлуудыг устгадаг, тиймээс буруу эх замын зам, холбогдоогүй хавтас эсвэл зорьсоноос илүүг хассан шүүлтүүр нь хор хөнөөлтэй ажиллуулалтыг цэвэр толь мэт харагдуулж болно. Урьдчилан харах жагсаалт нь энэ ялгаа үнэтэй болохоос өмнө харагдах цорын ганц газар юм. Өгөгдөл үндэслэлтэй газарт бие даасан сэргээх хуулбарыг хадгалж, толь нь түүхийг хадгалахын оронд санамсаргүй устгалыг үнэнчээр хуулбарладаг гэдгийг санаарай.
Урьдчилан харах нь юуг ч түгжихгүй. Хүмүүс сорил болон бодит ажиллуулалтын хооронд файлуудыг засварладаг, файлын системүүд өөрийн гэсэн үзэл бодолтой, тиймээс таны зөвшөөрсөн ажиллуулалт болон гүйцэтгэгдэж буй ажиллуулалт нь хоёр мод хоёулаа тайван биш л бол нэг үйлдэл биш юм.
Хоёр нэг чиглэлийн ажил хоёр чиглэлийн синхрончлол болохгүй
Нэг командыг хоёр чиглэлд ажиллуулах нь энэ нөхцөлд өгөгдөл алдах хамгийн түгээмэл арга юм. Чиглэл бүр нөгөө талыг очих газар гэж үзэж, шинэ агуулгыг баяртайгаар дарж бичдэг, устгалууд нь хуваарийн ажиллах дарааллаар толинд тусна.
Хэрэглэгчид хоёр хуулбарыг засварлах ёстой бол энэ нь өөр бүтээгдэхүүний шийдвэр: зөрчил зохицуулалт, устгалыг хянах, тэр загварт зориулсан хэрэгсэл. Үүнийг хуваарийн дарааллаар ойролцоолох нь хуваалцсан хавтас баримт бүрийн хэн ч эвлэрүүлж чадахгүй хоёр хувилбарыг олж авах арга юм. Хоёр cron бичлэг, найдвараар ойролцоолохын оронд үүнийг тодорхой шийдээрэй.
Бодлого бичигдсэний дараа л автоматжуулна уу
Хуваарьт ажил нь чиглэл, замууд, мета өгөгдлийн бодлого, батлагдсан устгах шийдвэрийг агуулсан байх ёстой. Эдгээр таван баримтыг вики хуудас биш ажлын файлд өөрт нь хий, дараагийн администратор тэр хуудсыг хэзээ ч уншихгүй байж болно. Давхцсан ажиллуулалтаас сэргийл, учир нь нэг мод руу нэгэн зэрэг бичиж буй хоёр хуулбар аль нь ч зорьж байгаагүй төлөвийг үүсгэдэг.
Эх сурвалж нь амьд өгөгдлийн сан эсвэл өөр олон файлтай өгөгдлийн багц бол эхлээд програмын хувьд нийцтэй экспорт эсвэл зохицуулсан агшин зураг авна уу. Файлуудыг рекурсээр тойрох нь гүйлгээ биш, өөрчлөгдөж буй өгөгдлийн багцын хуулбар нь нийцтэй биш юм.
Дуусгал болон алдааг бүртгэж, зөвхөн гарах код биш очих газрын өгөгдлийн багцыг шалгана уу. Тасалдлын дараа VPN-ийг сэргээх нь холболтыг сэргээдэг; энэ нь сүүлийн хуулбар дууссан эсэх, зөрчилтэй өөрчлөлтүүд хэзээ нэгэн цагт шийдэгдсэн эсэхийг хэлэхгүй.