രണ്ട് സർവറുകൾ, ഒരു 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 പുനഃസ്ഥാപിക്കുന്നത് കണക്റ്റിവിറ്റി തിരികെ നൽകുന്നു; അവസാന പകർപ്പ് തീർന്നോ അല്ലെങ്കിൽ വൈരുദ്ധ്യമുള്ള തിരുത്തലുകൾ എപ്പോഴെങ്കിലും പരിഹരിച്ചോ എന്ന് അത് പറയുന്നില്ല.

അനുബന്ധ ലേഖനങ്ങൾ