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-ді қалпына келтіру байланысты қалпына келтіреді; ол соңғы көшірменің аяқталғанын немесе қарама-қайшы өзгерістердің бір кезде шешілгенін айтпайды.