Robocopy में बैकअप मोड क्या है


19

मैं नेटवर्क पर एक बड़े डेटाबेस बैकअप फ़ाइल की प्रतिलिपि बनाने की कोशिश कर रहा हूं।

पारंपरिक प्रोग्राम कॉपी या xcopyविभिन्न बाइनरी के साथ असफल रहा। robocopyपैरामीटर के बिना भी कोशिश की , और एक विफलता के परिणामस्वरूप। बस पैरामीटर (पुनरारंभ और बैकअप मोड) robocopyका उपयोग करने के साथ एक और प्रयास किया /zb। इसमें ज्यादा समय लगा लेकिन सफलता मिली।

मेरा सवाल है, क्या बैकअप मोड वास्तव में बड़ी / बैकअप फ़ाइल की प्रतिलिपि बनाने के लिए डिज़ाइन किया गया है? नेट के माध्यम से खोज की है और एक स्पष्ट जवाब नहीं मिल सका। अगर कोई अनुभवी उपयोगकर्ता मुझे संकेत या बेहतर समाधान दे सकता है, तो सराहना करेगा।


इस बीच बहुत कम अंतर है कि xcopy और robocopy वास्तव में A से B तक के डेटा की प्रतिलिपि कैसे बनाते हैं, इसलिए xcopy पर robocopy का उपयोग करने से आकस्मिक डेटा भ्रष्टाचार की संभावना कम नहीं होगी। मतलब कि xcopy का उपयोग करने के बाद आपको एक अलग बाइनरी मिला, क्योंकि इसकी प्रतिलिपि बनाते समय DB संशोधित किया गया था। यहां "/ Z" ध्वज की कोई प्रासंगिकता नहीं है (यह सिर्फ नियंत्रित करता है यदि फ़ाइल के मौजूदा भाग पर रोबोकॉपी स्कीप करता है), जैसा कि "/ B" ध्वज है जो मूल रूप से स्रोत फ़ाइल खोलने पर ऐप द्वारा अनुरोधित अनुमतियों को नियंत्रित करता है।
एंगस्ट्रॉम

आपके उत्तर के लिए @Aststrom धन्यवाद। द्विआधारी अंतर एक बदलते DB से नहीं है क्योंकि यह एक स्थिर बैकअप फ़ाइल है (पहले से ही डेटाबेस से अलग) कॉपी किया जा रहा है। यह सच है कि मैं मानता हूं / ZB जानबूझकर अधिक मजबूत प्रतिलिपि के लिए कुछ भी नहीं करता है, लेकिन पुनरारंभ करने योग्य झंडा लगता है कि एक अधिक सटीक बाइनरी लिखता है (इस तथ्य से कि यह अधिक समय लेता है और एक समान प्रतिलिपि में परिणाम होता है)। या यह पुनः आरंभ हो सकता है खो डेटा को फिर से लिखना संभव बनाता है।
येदो

जवाबों:


12

बैकअप मोड किसी भी अनुमतियों की समस्याओं की अनदेखी करने वाली फ़ाइलों को पढ़ने और लिखने का एक तरीका है।

यह किसी भी और सभी फ़ाइलों को पढ़ने / लिखने के लिए SeBackupPrivilege(पढ़ने) और SeRestorePrivilege(लिखने) का उपयोग करता है , किसी भी एसीई की उपेक्षा करता है जो आपको फ़ाइल पढ़ने या लिखने से रोकती है।

आम तौर पर किसी फ़ाइल को कॉपी या एक्सेस करने की कोशिश करते समय, विंडोज यह सुनिश्चित करने के लिए एक चेक करता है कि आपको स्थान पर पढ़ने या लिखने की अनुमति है, लेकिन SeBackupPrivilege(बैकअप ऑपरेटर्स और एडमिनिस्ट्रेटर समूहों SeRestorePrivilegeको दी गई ), और (बैकअप ऑपरेटर्स और एडमिनिस्ट्रेटर को भी दी गई है ) समूह), ये चेक बायपास किए गए हैं।

यह जांचने के लिए कि क्या आपके खाते में ये विशेषाधिकार हैं, आप whoami /privकमांड प्रॉम्प्ट पर कमांड चला सकते हैं ।


केवल वही उत्तर दें जो वास्तव में निश्चित रूप से प्रश्न का उत्तर देता है, धन्यवाद। प्रदान की गई जानकारी के स्रोत इसे पूर्ण बनाएंगे।
हाशिम

2

बस ऊपर के मुद्दे को हल करने पर एक अद्यतन साझा करना चाहते हैं।

मेरे मामले में, xcopyविभिन्न डोमेन और सर्वर स्थान में सर्वर पर 10GB से अधिक फ़ाइल की प्रतिलिपि बनाने में विफल रहा।

दूसरी तरफ, के robocopyसाथ

/zb- रिस्टार्ट मोड का उपयोग करता है। यदि एक्सेस से इनकार किया जाता है, तो यह विकल्प बैकअप मोड का उपयोग करता है।

सफलतापूर्वक कॉपी कर सकते हैं। इसने हालांकि 1hour से 2.5hours तक का समय बढ़ाया।

-

सर्वर को फिर से व्यवस्थित करने के बाद, फ़ाइल को उसी डोमेन और सर्वर स्थान पर अब सर्वर पर कॉपी किया जाता है। और उपयोग xcopyकरना भी ठीक है।

-

तो इस पर मेरा सिद्धांत शायद सर्वर के बीच स्थिरता कनेक्शन के बारे में होगा। यदि कनेक्शन मजबूत नहीं है (कभी-कभी एक एक्सेस इश्यू के कारण ड्रॉप आउट के साथ), मेरे मामले की तरह बड़ी फ़ाइल की प्रतिलिपि बनाते समय, लंबी प्रक्रिया के दौरान किसी भी समय भ्रष्टाचार होने की संभावना होती है; पुनरारंभ और बैकअप केrobocopy साथ प्रतिलिपि को अच्छी तरह से पुनर्प्राप्त कर सकते हैं। रिकवरी पर बिताया गया समय शायद नीचे की तरफ है।

और एक साइड नोट के रूप में, कॉपी के बजाय एफ़टीपी का उपयोग किया जाना चाहिए अगर यह एक नियमित कार्य होने जा रहा है


2

मैं दृढ़ता से सुझाव दूंगा कि आप एक स्नैपशॉट बनाएं और अब क्विज़ किए गए फ़ाइल सिस्टम का बैकअप लें। फिर आप जल्दी से / J (बड़ी फ़ाइलों के लिए असंबद्ध I / O) का उपयोग करके जल्दी से रोबोकॉपी चला सकते हैं। यहाँ C की छाया प्रति बनाने के लिए एक स्क्रिप्ट है: जिसे वह P: कहता है। यह ड्राइव (P :) C की एक स्थिर छवि है: बैकअप के लिए एकदम सही ड्राइव। हम इस तकनीक का उपयोग सक्रिय वर्चुअल मशीन डिस्क छवियों को बैकअप ड्राइव में कॉपी करने के लिए करते हैं।

निम्नलिखित चार स्क्रिप्ट फ़ाइलों का उपयोग करता है:

  • डिस्क शैडो कमांड को किक करने के लिए एक बैच फ़ाइल
  • डिस्क छाया किसी भी को नष्ट करने के लिए आदेश देता है लटकती हुई छड़ पिछले छाया अगर आंतरिक बैच फ़ाइल दुर्घटनाग्रस्त हो गई
  • P के रूप में छाया बनाने के लिए डिस्क शैडो कमांड की एक श्रृंखला:
  • छाया सक्रिय होने पर निष्पादित करने के लिए आदेशों की एक श्रृंखला (पी: सक्रिय होते समय निष्पादित एक आंतरिक बैच फ़ाइल)

1) प्रक्रिया शुरू करने के लिए बैच फ़ाइल

diskshadow -s cleanup.cmds
diskshadow -s diskshadow.cmds

2) छाया कमांड फ़ाइल "cleanup.cmds" को पहले से सक्रिय छाया को नष्ट करने के लिए

UNEXPOSE P:

3) छाया कमांड फ़ाइल "diskshadow.cmds" जो छाया बनाता है, और फिर चौथी फ़ाइल को कॉल करता है

SET CONTEXT PERSISTENT NOWRITERS
SET METADATA example.cab
SET VERBOSE ON
BEGIN BACKUP
ADD VOLUME C: ALIAS systemVolumeShadow
CREATE
EXPORT %systemVolumeShadow% P:
EXEC c:\yourlocation\backup.cmd
UNEXPOSE P:
END BACKUP
RESET

4) छाया पर संचालित करने के लिए कमांड फ़ाइल "backup.cmd"

REM do the ROBOCOPY commands here, with the source being P:, the shadow of C:

ध्यान दें कि विंडोज सर्वर 2016 (और संभवत: अन्य संस्करण) सप्ताह में दो बार प्रतिदिन एक छाया प्रति चलाता है जो दुर्घटना के कारण नीचे बनाई गई छाया प्रति का कारण बनेगा। सुनिश्चित करें कि यह बैकअप तकनीक इन स्वचालित शेड्यूल कमांड के साथ ओवरलैप नहीं है।


0

@ Erict के उत्तर पर विस्तार करने के लिए, यहां स्नैपशॉट बनाने और नष्ट करने के लिए PowerShell का उपयोग कैसे किया जाए:

$Drive = "D:\"
$Folder = $Drive + "ShadowCopy"

# Create the snapshot
$Snapshot = (gwmi -List Win32_ShadowCopy).Create($Drive, "ClientAccessible")
$Shadow = gwmi Win32_ShadowCopy | ? { $_.ID -eq $Snapshot.ShadowID }
$Volume = $Shadow.DeviceObject + "\"
cmd /c mklink /d "$Folder" "$Volume"

# Destroy the snapshot
cmd /c rd "$Folder"
$Shadow.Delete()

इसे किसी दूरस्थ मशीन पर, PowerShell रीमोटिंग का उपयोग करके भी चलाया जा सकता है :

Enter-PSSession RemoteComputer

#
# Run snapshot commands here
#

Exit-PSSession
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.