Anonim

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

यद्यपि आज के पीसी के ग्राफिकल यूजर इंटरफेस प्रकाश-वर्ष से अधिक परिष्कृत और पुरानी कमांड लाइनों की तुलना में उपयोग करने में आसान हैं, फिर भी आपके कंप्यूटर को नियंत्रित करने के पुराने तरीके के लिए उपयोग होते हैं। सबसे आम में से एक, और अच्छी तरह से अनुकूल है, एक कमांड लाइन स्क्रिप्ट के लिए आवेदन डेटा बैकअप है। कमांड लाइन लिपियों को बिना किसी मानवीय बातचीत के किसी भी समय चलाने के लिए स्वचालित किया जा सकता है, और इसकी कुछ सीमाएं हैं। सभी के सर्वश्रेष्ठ - वे विंडोज ऑपरेटिंग सिस्टम का एक अंतर्निहित हिस्सा हैं।

कमांड लाइन लिपियों क्यों?

जब वहां कमर्शियल और फ्री बैकअप प्रोग्राम होते हैं, तो कमांड-लाइन स्क्रिप्ट का उपयोग क्यों करें? वैसे, कमांड-लाइन स्क्रिप्ट में कई अनूठे फायदे हैं। यहां उनमें से कुछ हैं:

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

बैकअप बैच स्क्रिप्ट का एक त्वरित अवलोकन

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

बैकअप स्क्रिप्ट क्या करती है:

  1. पूर्ण या दैनिक वृद्धिशील बनाता है (नीचे एक परिभाषा के लिए देखें) फ़ाइलों और फ़ोल्डरों का बैकअप आप एक अलग कॉन्फ़िगरेशन पाठ फ़ाइल में निर्दिष्ट करते हैं (नीचे देखें)।
    • जब एक फ़ोल्डर का नाम दिया जाता है, तो वह फ़ोल्डर और सभी उप-फ़ोल्डर बैकअप होते हैं।
    • जब किसी फ़ाइल का नाम लिया जाता है, तो बस उस फ़ाइल का बैकअप लिया जाता है।
  2. समर्थित फ़ाइलों को संपीड़ित (ज़िप) करता है। बैकअप की जाने वाली सभी फ़ाइलों की प्रतिलिपि बनाने के बाद, उन्हें स्थान बचाने के लिए संकुचित किया जाता है। इसे काम करने के लिए आपके सिस्टम पर 7-जिप की आवश्यकता है।
  3. संपीड़ित फ़ाइल को दिनांकित करता है और इसे संग्रहण स्थान पर ले जाता है। बैकअप फ़ाइलों को संपीड़ित होने के बाद, परिणामी संग्रह को वर्तमान तिथि के अनुसार एक फ़ाइल नाम दिया जाता है और फिर एक कॉन्फ़िगर किए गए संग्रहण स्थान पर ले जाया जाता है, जैसे कि बाहरी ड्राइव या नेटवर्क स्थान।
  4. अपने आप साफ हो जाता है। सभी कार्य पूर्ण होने के बाद, बैच स्क्रिप्ट उसके द्वारा बनाई गई सभी अस्थायी फ़ाइलों को साफ करती है।

आवश्यकताएँ:
विंडोज 2000 / XP / 2003 / विस्टा या नया
7-ज़िप (यह मुफ़्त है)

विन्यास फाइल:
कॉन्फ़िगरेशन फ़ाइल बस एक पाठ फ़ाइल है जिसमें बैकअप के लिए फ़ाइलें और फ़ोल्डर्स शामिल हैं, प्रति पंक्ति एक बैकअप आइटम दर्ज किया गया है। इस फ़ाइल को "BackupConfig.txt" नाम दिया जाना चाहिए और बैकअप स्क्रिप्ट के समान फ़ोल्डर में स्थित होना चाहिए। यहाँ एक BackupConfig.txt फ़ाइल का उदाहरण दिया गया है (ध्यान दें, पहली पंक्ति पर "#" वर्ण इंगित करता है कि लाइन एक टिप्पणी है, जब स्क्रिप्ट चलती है तो टिप्पणियों को हमेशा अनदेखा किया जाता है):

# प्रति पंक्ति एक फ़ाइल और फ़ोल्डर नाम दर्ज करें।
C: \ Documents and Settings \ Jason Faulkner \ Desktop C: \ Documents and Settings \ Jason Faulkner \ My Documents \ Important Files C: \ Scripts \ BackupScript.bat

ऊपर दिया गया उदाहरण विंडोज उपयोगकर्ता जेसन फॉल्कनर के डेस्कटॉप (और डेस्कटॉप के सभी फ़ोल्डर्स), मेरे दस्तावेज़ों के अंदर "महत्वपूर्ण फ़ाइलें" नामक फ़ोल्डर (और "महत्वपूर्ण फ़ाइलों के अंदर सभी फ़ोल्डर") और फ़ाइल "BackupScript.bat" को बैकअप करेगा। सी: \ लिपियों निर्देशिका।

बैकअप के प्रकार:

  • पूर्ण बैकअप: सभी फ़ाइलों और फ़ोल्डरों (उप-फ़ोल्डरों सहित) की एक पूरी प्रतिलिपि बैकअप में शामिल है।
  • वृद्धिशील बैकअप: जब कोई फ़ोल्डर प्रदान किया जाता है, तो केवल वर्तमान दिनांक पर बनाई या संशोधित की गई फ़ाइलें होती हैं
    को समर्थन। जब कोई फ़ाइल प्रदान की जाती है, तो इसे हमेशा संशोधित किया जाता है, भले ही इसे संशोधित किया गया हो।

डेटा बैकअप विंडोज बैच स्क्रिप्ट

मैं इस स्क्रिप्ट पर जोर देना चाहता हूं, यह बहुत ही बुनियादी है, क्योंकि यह एक साधारण फाइल कॉपी का उपयोग करके बैकअप बनाता है। कुछ कॉन्फ़िगरेशन विकल्प हैं जिन्हें आप सेट कर सकते हैं:

  • बैकअप संग्रहण स्थान जिसके परिणामस्वरूप संपीड़ित बैकअप फ़ाइलें संग्रहीत की जाती हैं।
  • सप्ताह का दिन पूर्ण बैकअप चलाया जाता है (कोई अन्य दिन एक वृद्धिशील बैकअप चलाएगा)।
  • आपके कंप्यूटर पर 7-ज़िप स्थापित करने का स्थान। डिफ़ॉल्ट स्थान में देखने के लिए स्क्रिप्ट स्वचालित रूप से सेट है।

यदि आपके पास कोई सुझाव या सुविधा अनुरोध है, तो कृपया नीचे टिप्पणी करें। मैं वास्तव में इस पोस्ट के लिए एक अनुवर्ती लेख करना पसंद करूंगा जिसमें पाठक इनपुट के आधार पर एक अद्यतन स्क्रिप्ट शामिल हो। यदि आपको इस स्क्रिप्ट का "उपयोग" करने के लिए निर्देशों की आवश्यकता है या एक निर्धारित कार्य सेट करना है, तो स्क्रिप्ट स्रोत के नीचे दिए गए लिंक पर एक नज़र डालें।

आगे की हलचल के बिना, यह है:

नोट : चूंकि उद्धरण नीचे सही ढंग से प्रदर्शित नहीं होते हैं (और परिणामस्वरूप स्क्रिप्ट में गड़बड़ी हो सकती है), मैंने स्क्रिप्ट के नीचे एक सादा पाठ लिंक शामिल किया है जिसका उपयोग आप कॉपी करने के लिए एक सटीक स्रोत प्राप्त करने के लिए कर सकते हैं।

@ECHO OFF REM बैकअपस्क्रिप्ट REM संस्करण 1.01, Updated: 2008-05-21 जेसन फॉल्कनर द्वारा लेख REM (लेख 132solutions.com) REM उपयोगकर्ता द्वारा कॉन्फ़िगर किए गए फ़ोल्डर्स और फ़ाइलों के पूर्ण या वृद्धिशील बैकअप करता है। रेम उपयोग --- रेम> बैकअपस्क्रिप्ट सेटलटेक्शनल इंबैलेंसमेंट एनएबीएलईडीईएलईडीईएक्सएक्सएक्सएक्सशन रिम --- कॉन्फ़िगरेशन विकल्प --- रेम फ़ोल्डर स्थान जहां आप परिणामी बैकअप संग्रह को संग्रहीत करना चाहते हैं। REM यह फ़ोल्डर मौजूद होना चाहिए। अंत में एक '\' मत डालो, यह स्वचालित रूप से जोड़ा जाएगा। REM आप एक स्थानीय पथ, एक बाहरी ड्राइव अक्षर (उदा। F :) या नेटवर्क स्थान (उदा। \\ सर्वर \ बैकअप) दर्ज कर सकते हैं SET BackupStorage = C: \ Backup REM सप्ताह के किस दिन आप एक प्रदर्शन करना चाहते हैं पर पूर्ण बैकअप? REM निम्न में से एक दर्ज करें: सूर्य, सोम, मंगल, बुध, गुरु, शुक्र, शनि, * REM सप्ताह के किसी भी दिन नीचे निर्दिष्ट एक के अलावा अन्य एक वृद्धिशील बैकअप चलाएगा। REM यदि आप '*' दर्ज करते हैं, तो हर बार एक पूर्ण बैकअप चलाया जाएगा। SET FullBackupDay = * REM स्थान जहां आपके कंप्यूटर पर 7-ज़िप स्थापित है। REM डिफ़ॉल्ट एक फ़ोल्डर में है, आपके प्रोग्राम फ़ाइल निर्देशिका में '7-ज़िप'। SET InstallLocationOf7Zip =% ProgramFiles% \ 7-Zip REM + -------------------------------------- --------------------------------- + REM | जब तक आप यह नहीं जानते कि आप क्या कर रहे हैं, यहां नीचे कुछ भी न बदलें। | REM + ------------------------------------------------ ----------------------- + REM उपयोग चर। SET exe7Zip =% InstallLocationOf7Zip% \ 7z.exe SET dirTempBackup =% TEMP% \ backup SET filBackupConfig = BackupConfig.tit REM सत्यापन करें। यदि EXIST% filBackupConfig% नहीं है (ECHO कोई कॉन्फ़िगरेशन फ़ाइल नहीं मिली है, अनुपलब्ध है:% filBackupConfig% GOTO End) यदि नहीं "% exe7Zip%" EXIST7Z- ज़िप "स्थान पर स्थापित नहीं है:% dir7Zip% ECHO निर्देशिका को अद्यतन करें। 7-ज़िप स्थापित है। GOTO End) REM बैकअप चर। For / f "tokens = 1, 2, 3, 4 delims = /" %% a IN ('दिनांक / t') DO (SET DayOfWeek = %% a SET NowDate = %% d - %% b - %% c) SET FileDate = %% b - %% c - %% d) IF {% FullBackupDay%} == {*} SET FullBackupDay =% DayOfWeek% IF / i {% FullBackupDay%} == {% DayOfWeek%} (SET txtBackup) = पूर्ण SET swXCopy = / e) ELSE (SET txtBackup = Incremental SET swXCopy = / s / d:% FileDate%) ECHO फ़ाइलों की प्रतिलिपि बनाना शुरू करता है। यदि "EXD"% dirTempBackup% "MKDIR"% dirTempBackup% "FOR / f" स्किप = 1 टोकन = * "%% A IN (% filBackupConfig%) नहीं है: तो (SET वर्तमान = %% ~ एक IF EXIST नहीं!" "(ECHO ERROR! नहीं मिला!:! वर्तमान!) ELSE (ECHO नकल:!!! गंतव्य सेट करें =% dirTempBackup%! वर्तमान: ~ 0, 1%! %% ~ pnxA REM निर्धारित करें कि प्रविष्टि फ़ाइल है या निर्देशिका। यदि "%% ~ xA" == "" (REM निर्देशिका। XCOPY "! वर्तमान!" "! गंतव्य!" / V / c / i / g / h / q / r / y% swXCopy%) ELSE (REM फ़ाइल) कॉपी / v / y "! वर्तमान!" "(गंतव्य!"))) ECHO फ़ाइलों की प्रतिलिपि बनाई। ECHO। SET BackupFileDestination =% BackupStorage% \ Backup_% FileDate% _% txtBackup% .zip REM यदि बैकअप फ़ाइल मौजूद है, तो इसे नई फ़ाइल के पक्ष में हटा दें। यदि EXIST "% BackupFileDestination%" DEL / f / q "% BackupFileDestination%" ECHO संपीड़ित फ़ाइलों का बैकअप ले रहा है। (नई विंडो) कम प्राथमिकता वाली प्रक्रिया में 7-ज़िप का उपयोग करके REM कंप्रेस फाइलें। स्टार्ट "कम्प्रेसिंग बैकअप। नॉट CLOSE" / बिलॉन्डर / वेट "% exe7Zip%" a -tzip -r -mx5 "% BackupFileDestination%" "% dirTempBacker% \" ECHO संपन्न फ़ाइलों को बैकअप किया। ECHO। ECHO सफाई। यदि एक्स्टिस्ट "% dirTempBackup%" RMDIR / s / q "% dirTempBackup%" ECHO। : अंत ईसीएचओ समाप्त। ECHO। ENDLOCAL

सादा पाठ स्रोत यहां उपलब्ध है: बैकअप

यदि आपको इस स्क्रिप्ट को लागू करने में मदद करने की आवश्यकता है, तो आपकी सहायता के लिए यहां कुछ लिंक दिए गए हैं:

  • कैसे एक बैच फ़ाइल बनाने के लिए
  • विंडोज शेड्यूल्ड टास्क कैसे बनाएं

यह वही स्क्रिप्ट है जिसका उपयोग मैं अपने कंप्यूटर को बैकअप करने के लिए करता हूं (पाठ्यक्रम के कुछ संशोधनों के साथ), इसलिए मुझे पता है कि यह बहुत अच्छी तरह से काम करता है। मुझे उम्मीद है कि आप इसे उपयोगी पाएँ।

का आनंद लें!

बैकअप डेटा के लिए विंडोज बैच स्क्रिप्ट