بیک اپ ڈیٹا کے لیے ونڈوز بیچ اسکرپٹ

کمپیوٹر استعمال کرنے والے جو جدید میک اور ونڈوز کمپیوٹرز کے ساتھ پروان چڑھے ہیں شاید اس سے واقف نہ ہوں، لیکن ایک بار، بہت پہلے، تمام پرسنل کمپیوٹرز کو کمانڈ لائن انٹرفیس کے ذریعے کنٹرول کیا جاتا تھا۔ جی ہاں، آپ کی ونڈوز مشین پر موجود وہ گھٹیا کمانڈ باکس لفظی طور پر وہ واحد طریقہ ہوا کرتا تھا جو زیادہ تر لوگ کمپیوٹر کے ساتھ بات چیت کرتے تھے۔ کمانڈ لائن انٹرفیسز 'اسکرپٹس' نامی چھوٹے پروگراموں پر بہت زیادہ انحصار کرتے ہیں، جو عام کاموں کو انجام دینے کے لیے استعمال ہونے والے آپریٹنگ سسٹم کمانڈز کے مجموعے تھے۔

اگرچہ آج کے پی سی کے گرافیکل یوزر انٹرفیس پرانی کمانڈ لائنوں کے مقابلے ہلکے سال زیادہ نفیس اور استعمال میں آسان ہیں، لیکن آپ کے کمپیوٹر کو کنٹرول کرنے کے پرانے طریقے کے لیے اب بھی استعمال ہوتے ہیں۔ کمانڈ لائن اسکرپٹ کے لیے سب سے زیادہ عام اور موزوں ترین ایپلیکیشنز میں سے ایک ڈیٹا بیک اپ ہے۔ کمانڈ لائن اسکرپٹس کو کسی بھی وقت بغیر کسی انسانی تعامل کے چلانے کے لیے خودکار کیا جا سکتا ہے، اور اس کی کچھ حدود ہیں۔ سب سے بہتر - یہ ونڈوز آپریٹنگ سسٹم کا بلٹ ان حصہ ہیں۔

کمانڈ لائن سکرپٹ کیوں؟

جب وہاں کمرشل اور مفت بیک اپ پروگرام دونوں موجود ہیں تو کمانڈ لائن اسکرپٹ کیوں استعمال کریں؟ ٹھیک ہے، کمانڈ لائن اسکرپٹ کے بہت سے منفرد فوائد ہیں۔ ان میں سے چند یہ ہیں:

  • مقامی کمانڈز : ڈیٹا کو بیک اپ کرنے کے لیے اس پروگرام کے ذریعے دستیاب فنکشنز کو استعمال کرنے سے بہتر اور کیا طریقہ ہے جو ڈیٹا تخلیق کرتا ہے؟ چاہے یہ آپریٹنگ سسٹم بذات خود ایک سادہ فائل کاپی کمانڈ کے ذریعے ہو یا پھر بحال ہونے والی بائنری فائل بنانے کے لیے ڈیٹا بیس کمانڈ کے ذریعے، سورس پروگرام خود کو بیک اپ کرنے کا طریقہ جانتا ہے۔
  • حتمی کنٹرول : چونکہ ایک کمانڈ لائن اسکرپٹ ایک سادہ مرحلہ وار طریقہ کار کی پیروی کرتی ہے، اس لیے آپ کو بخوبی معلوم ہے کہ کیا ہو رہا ہے اور آپ آسانی سے رویے میں ترمیم کر سکتے ہیں۔
  • تیز : چونکہ ہر چیز مقامی حکم ہے، اس لیے کوئی بھی چیز تشریح کے تابع نہیں ہے۔ ایک بار پھر، آپ خود پروگرام کے ذریعہ فراہم کردہ کمانڈ استعمال کر رہے ہیں، لہذا اوور ہیڈ کو کم سے کم رکھا جاتا ہے۔
  • طاقتور : میں نے ابھی تک ایک بیک اپ ٹاسک دیکھنا ہے جو کمانڈ لائن اسکرپٹ کے ذریعے پورا نہیں کیا جا سکتا… اور میں نے کچھ فنکی چیزیں کی ہیں۔ اگرچہ آپ کو کچھ تحقیق اور آزمائش اور غلطی کرنا پڑ سکتی ہے اگر آپ کی واقعی منفرد ضروریات ہیں، عام طور پر آپ جس اسکرپٹنگ زبان کا استعمال کر رہے ہیں اس کے فنکشنز اور فیچرز کافی سے زیادہ ہیں۔
  • مفت اور لچکدار : ظاہر ہے، ایک کمانڈ لائن اسکرپٹ کی کوئی قیمت نہیں ہوتی (اسے تیار کرنے کے لیے وقت سے باہر)، اس لیے آپ اپنی اسکرپٹ کو کسی بھی تعداد میں مشینوں اور سسٹمز میں کاپی کر سکتے ہیں جس میں بہت کم وقت یا لاگت ہے۔ کئی سرورز اور/یا ڈیسک ٹاپ مشینوں پر بیک اپ سافٹ ویئر کے لیے لائسنس خریدنے کی لاگت سے اس کا موازنہ کریں۔

بیک اپ بیچ اسکرپٹ کا ایک فوری جائزہ

زیادہ تر لوگوں نے کمانڈ لائن اسکرپٹنگ کا استعمال کبھی نہیں سیکھا ہے، اور اسے کسی حد تک "بلیک آرٹ" سمجھا جاتا ہے۔ تاہم، یہ اصل میں سیکھنے کے لئے ایک بہت آسان چیز ہے. کمانڈ لائن کی طاقت کو ظاہر کرنے کے لیے، میں ایک سادہ ونڈوز بیچ اسکرپٹ فراہم کر رہا ہوں جسے آپ اپنے اہم ڈیٹا کو بیک اپ کرنے کے لیے استعمال کر سکتے ہیں۔ اس قابل ترتیب اور حسب ضرورت اسکرپٹ کو ونڈوز بیچ اسکرپٹنگ زبان کے کسی علم (یا سیکھنے کی خواہش) کی ضرورت نہیں ہے، لیکن اگر آپ فیصلہ کرتے ہیں کہ آپ ونڈوز بیچ اسکرپٹنگ کے بارے میں مزید جاننا چاہتے ہیں، تو آپ کو یہ اسکرپٹ ایک اچھی شروعاتی جگہ ملے گی۔ .

بیک اپ اسکرپٹ کیا کرتا ہے:

  1. ان فائلوں اور فولڈرز کے بیک اپ جو آپ نے ایک علیحدہ کنفیگریشن ٹیکسٹ فائل میں بتائے ہیں (نیچے دیکھیں) مکمل یا روزانہ اضافہ (تعریف کے لیے نیچے دیکھیں) بناتا ہے۔
    • جب کسی فولڈر کا نام رکھا جاتا ہے، تو اس فولڈر اور تمام ذیلی فولڈرز کا بیک اپ لیا جاتا ہے۔
    • جب کسی فائل کا نام رکھا جاتا ہے تو صرف اس فائل کا بیک اپ لیا جاتا ہے۔
  2. بیک اپ فائلوں کو کمپریس (زپ) کرتا ہے۔ بیک اپ کی جانے والی تمام فائلوں کی کاپی ہونے کے بعد، وہ جگہ بچانے کے لیے کمپریس ہو جاتی ہیں۔ اس کے کام کرنے کے لیے آپ کے سسٹم پر 7-زپ انسٹال کرنا ضروری ہے۔
  3. کمپریسڈ فائل کو ڈیٹ کرتا ہے اور اسے اسٹوریج کے مقام پر منتقل کرتا ہے۔ بیک اپ فائلوں کے کمپریس ہونے کے بعد، نتیجے میں آرکائیو کو موجودہ تاریخ کے مطابق ایک فائل کا نام دیا جاتا ہے اور پھر اسے کنفیگر شدہ اسٹوریج لوکیشن، جیسے کہ ایک بیرونی ڈرائیو یا نیٹ ورک لوکیشن میں منتقل کیا جاتا ہے۔
  4. خود کو صاف کرتا ہے۔ تمام کام مکمل ہونے کے بعد، بیچ اسکرپٹ اپنی بنائی ہوئی تمام عارضی فائلوں کو صاف کر دیتا ہے۔

تقاضے:

Windows 2000/XP/2003/Vista یا جدید تر

7-زپ (یہ مفت ہے)

ترتیب دینے کی فائل:

کنفیگریشن فائل صرف ایک ٹیکسٹ فائل ہے جس میں بیک اپ کے لیے فائلز اور فولڈرز ہوتے ہیں، فی لائن ایک بیک اپ آئٹم درج کیا جاتا ہے۔ یہ فائل ضروری ہے "BackupConfig.txt" کا نام دیا جائے اور بیک اپ اسکرپٹ کے اسی فولڈر میں واقع ہو۔ یہاں ایک BackupConfig.txt فائل کی ایک مثال ہے (نوٹ، پہلی سطر پر "#" حرف اشارہ کرتا ہے کہ لائن ایک تبصرہ ہے؛ تبصرے کو ہمیشہ نظر انداز کر دیا جاتا ہے جب اسکرپٹ چلتا ہے):

# فائل اور فولڈر کے نام درج کریں، فی لائن ایک۔

C:Documents and SettingsJason FaulknerDesktop C:Documents and SettingsJason FaulknerMy DocumentsImportant Files C:ScriptsBackupScript.bat

اوپر دی گئی مثال ونڈوز صارف جیسن فالکنر کے ڈیسک ٹاپ (اور ڈیسک ٹاپ پر موجود تمام فولڈرز)، میرے دستاویزات کے اندر "اہم فائلز" کہلانے والے فولڈر (اور "اہم فائلوں" کے اندر موجود تمام فولڈرز) اور اندر کی فائل "BackupScript.bat" کا بیک اپ لے گی۔ C: اسکرپٹ ڈائرکٹری۔

بیک اپ کی اقسام:

  • مکمل بیک اپ: تمام فائلوں اور فولڈرز کی ایک مکمل کاپی (بشمول ذیلی فولڈرز) بیک اپ میں شامل ہیں۔
  • اضافی بیک اپ: جب ایک فولڈر فراہم کیا جاتا ہے، تو صرف فائلیں بنائی جاتی ہیں یا اس میں ترمیم کی جاتی ہیں۔ موجودہ تاریخ ہیں

    بیک اپ جب کوئی فائل فراہم کی جاتی ہے، تو اس کا ہمیشہ بیک اپ لیا جاتا ہے، چاہے اس میں ترمیم کب کی گئی ہو۔

ڈیٹا بیک اپ ونڈوز بیچ اسکرپٹ

میں اس بات پر زور دینا چاہتا ہوں کہ یہ اسکرپٹ بہت بنیادی ہے، کیونکہ یہ صرف ایک سادہ فائل کاپی کو استعمال کرکے بیک اپ بنانا ہے۔ کنفیگریشن کے کچھ اختیارات ہیں جو آپ سیٹ کر سکتے ہیں:

  • بیک اپ سٹوریج کا مقام جہاں نتیجے میں کمپریسڈ بیک اپ فائلیں محفوظ کی جاتی ہیں۔
  • ہفتے کے دن جس دن مکمل بیک اپ چلایا جاتا ہے (کسی دوسرے دن انکریمنٹل بیک اپ چلے گا)۔
  • وہ مقام جہاں آپ کے کمپیوٹر پر 7-Zip انسٹال ہے۔ اسکرپٹ خود بخود طے شدہ جگہ پر دیکھنے کے لیے سیٹ ہو جاتی ہے۔

اگر آپ کے پاس کوئی مشورے یا خصوصیت کی درخواستیں ہیں، تو براہ کرم ذیل میں تبصرہ کریں۔ میں واقعی میں اس پوسٹ کا فالو اپ آرٹیکل کرنا پسند کروں گا جس میں ریڈر ان پٹ کی بنیاد پر ایک اپ ڈیٹ شدہ اسکرپٹ موجود ہے۔ اگر آپ کو اس اسکرپٹ کو "استعمال" کرنے یا ایک طے شدہ کام کو ترتیب دینے کے بارے میں ہدایات درکار ہیں، تو اسکرپٹ کے ماخذ کے نیچے دیے گئے لنکس پر ایک نظر ڈالیں۔

مزید اڈو کے بغیر، یہ یہاں ہے:

نوٹ: چونکہ اقتباسات نیچے صحیح طریقے سے ظاہر نہیں ہوتے ہیں (اور اس کے نتیجے میں اسکرپٹ میں خلل پڑ سکتا ہے)، میں نے اسکرپٹ کے نیچے ایک سادہ متن کا لنک شامل کیا ہے جسے آپ نقل کرنے کے لیے درست ذریعہ حاصل کرنے کے لیے استعمال کرسکتے ہیں۔

@ECHO OFF REM BackupScript REM ورژن 1.01، اپ ڈیٹ کیا گیا: 2008-05-21 REM بذریعہ جیسن فالکنر (مضمون[-at-]132solutions.com) REM صارف کی طرف سے تشکیل کردہ فولڈرز اور فائلوں کا مکمل یا اضافی بیک اپ انجام دیتا ہے۔ REM کا استعمال--- REM > BackupScript SETLOCAL ENABLEEXTENSIONS ENABLEEDAYEDEXPANSION REM ---کنفیگریشن کے اختیارات--- REM فولڈر کا مقام جہاں آپ نتیجے میں بیک اپ آرکائیو کو محفوظ کرنا چاہتے ہیں۔ REM یہ فولڈر موجود ہونا چاہیے۔ آخر میں '' نہ لگائیں، یہ خود بخود شامل ہو جائے گا۔ REM آپ مقامی پاتھ، ایک بیرونی ڈرائیو لیٹر (مثال کے طور پر F:) یا نیٹ ورک لوکیشن (مثال کے طور پر \serverbackups) SET BackupStorage=C:Backup REM درج کر سکتے ہیں آپ ہفتے کے کس دن مکمل بیک اپ کرنا چاہتے ہیں؟ REM درج ذیل میں سے ایک درج کریں: اتوار، پیر، منگل، بدھ، جمعرات، جمعہ، ہفتہ، * REM ذیل میں بیان کردہ کے علاوہ ہفتے کا کوئی بھی دن ایک اضافی بیک اپ چلائے گا۔ REM اگر آپ '*' درج کرتے ہیں، تو ہر بار مکمل بیک اپ چلایا جائے گا۔ FullBackupDay سیٹ کریں=* REM لوکیشن جہاں آپ کے کمپیوٹر پر 7-Zip انسٹال ہے۔ REM پہلے سے طے شدہ فولڈر میں ہے، '7-Zip' آپ کی پروگرام فائلز ڈائرکٹری میں۔ SET InstallLocationOf7Zip=%ProgramFiles%7-Zip REM +------------------------------------------------ --------------------------------+ REM | یہاں نیچے کچھ بھی تبدیل نہ کریں جب تک کہ آپ کو معلوم نہ ہو کہ آپ کیا کر رہے ہیں۔ | REM +------------------------------------------------ -----------------------+ REM کے استعمال کے متغیرات۔ SET exe7Zip=%InstallLocationOf7Zip%7z.exe SET dirTempBackup=%TEMP%backup SET filBackupConfig=BackupConfig.txt REM توثیق۔ اگر موجود نہیں ہے تو %filBackupConfig% ( ECHO کوئی کنفیگریشن فائل نہیں ملی، غائب ہے: %filBackupConfig% GOTO End ) اگر موجود نہ ہو تو "%exe7Zip%" ( ECHO 7-Zip اس مقام پر انسٹال نہیں ہے: %dir7Zip% ECHO کو اپ ڈیٹ کریں جہاں براہ کرم ڈائرکٹری کو اپ ڈیٹ کریں۔ 7-زپ انسٹال ہے۔ GOTO End ) REM بیک اپ متغیرات۔ فور /f "ٹوکن = 1,2,3,4 ڈیلمز =/ " %%a IN ('date /t') DO ( SET DayOfWeek=%%a SET NowDate=%%d-%%b-%%c فائل کی تاریخ مقرر کریں=%%b-%%c-%%d ) IF {%FullBackupDay%}=={*} SET FullBackupDay=%DayOfWeek% IF /i {%FullBackupDay%}=={%DayOfWeek%} ( txtBackup سیٹ کریں =Full SET swXCopy=/e ) ELSE ( SET txtBackup=Incremental SET swXCopy=/s /d:%FileDate% ) ECHO فائلوں کو کاپی کرنا شروع کر رہا ہے۔ اگر موجود نہ ہو تو "%dirTempBackup%" MKDIR "%dirTempBackup%" FOR /f "skip=1 tokens=*" %%A IN (%filBackupConfig%) DO (موجودہ=%%~A اگر موجود نہ ہو تو سیٹ کریں"!موجودہ! " ( ECHO ERROR! نہیں ملا: !Current! ) ELSE ( ECHO کاپی کرنا: !Current! SET Destination=%dirTempBackup%!Current:~0,1!%%~pnxA REM اس بات کا تعین کریں کہ آیا اندراج فائل یا ڈائریکٹری ہے۔ IF "%%~xA"=="" ( REM ڈائریکٹری۔ XCOPY "! موجودہ!" "! منزل!" /v /c /i /g /h /q /r /y %swXCopy% ) ELSE ( REM فائل۔ کاپی /v /y "!موجودہ!" "!منزل!" ) ) ) ECHO فائلوں کو کاپی کرنا ہو گیا۔ ایکو۔ SET BackupFileDestination=%BackupStorage%Backup_%FileDate%_%txtBackup%.zip REM اگر بیک اپ فائل موجود ہے تو اسے نئی فائل کے حق میں ہٹا دیں۔ اگر موجود ہے تو "%BackupFileDestination%" DEL /f /q "%BackupFileDestination%" ECHO بیک اپ فائلوں کو سکیڑ رہا ہے۔ (نئی ونڈو) کم ترجیحی عمل میں 7-زپ کا استعمال کرتے ہوئے REM فائلوں کو کمپریس کریں۔ شروع کریں "بیک اپ کو کمپریس کرنا۔ بند نہ کریں۔" /belownormal /wait "%exe7Zip%" a -tzip -r -mx5 "%BackupFileDestination%" "%dirTempBackup%" ECHO نے بیک اپ فائلوں کو کمپریس کرنا ہو گیا۔ ایکو۔ ECHO صفائی۔ اگر موجود ہے "%dirTempBackup%" RMDIR /s /q "%dirTempBackup%" ECHO۔ : ایکو ختم ختم۔ ایکو۔ اینڈ لوکل

سادہ متن کا ذریعہ یہاں دستیاب ہے: بیک اپ

اگر آپ کو اس اسکرپٹ کو لاگو کرنے کے ساتھ شروع کرنے میں مدد کی ضرورت ہے، تو آپ کی مدد کے لیے یہاں چند لنکس ہیں:

  • بیچ فائل بنانے کا طریقہ
  • ونڈوز شیڈول ٹاسک کیسے بنائیں

یہ وہی اسکرپٹ ہے جو میں اپنے کمپیوٹر کو روزانہ بیک اپ کرنے کے لیے استعمال کرتا ہوں (یقیناً چند ترمیمات کے ساتھ)، اس لیے میں جانتا ہوں کہ یہ بہت اچھی طرح سے کام کرتا ہے۔ مجھے امید ہے کہ آپ کو یہ مفید معلوم ہوگا۔

لطف اٹھائیں!