با نت پد یک پشتیبانگیر حرفهای بسازید!
۷ ۰۷ ۱۳۸۷در این آموزش ما یاد میگیریم چگونه بدون نیاز به نرم افزار های جانبی برنامهای برای گرفتن Backup های روزانه تنظیم کنیم. به طوری که پوشه های مورد نظر ما به موقع خیلی تر و تمیز در مکان مشخص شده ذخیره میشوند و به طور اتوماتیک تاریخ گذاری هم میشوند که بعدآ بدانید کدام نسخهی پشتیبان در چه تاریخی ساخته شده است.
ابتدا Notepad را باز کنید. (راحت ترین راه این است که از منوی استارت Run را انتخاب کنید و تایپ کنید notepad).
ما از نت پد برای درست کردن یک برنامهی Batch یک خطی استفاده میکنیم که به کامپیوتر فرمان میدهد کدام پوشه را در کدام مسیر کپی کند.
برای این کار در نت پد تایپ میکنم:
xcopy c:\zangoole\* h:\backup\zangoole\%date:~0,3%\* /Y /S
و با پسوند bat. ذخیره میکنم. به این فایل ها فایل های Batch میگویند و به این جور کد نویسی ها Batch Programming
این دستور میگوید تمام محتوای پوشهی زنگوله که در درایو c قرار دارد را در پوشهی روز هفته\backup\zangoole که در درایو h قرار دارد کپی کن. که درایو h من همان کول دیسکام است. میتوانید درایو های دیگر را هم انتخاب کنید اما من کول دیسک را ترجیح میدهم.
عبارتی که بعد از zangoole\ میبینید (%date:~0,3%) روز هفته را بر میگرداند.
یعنی اگر این دستور امروز در کامپیوتر من اجرا شود هر چه در c:\zangoole وجود دارد کپی میشود در h:\backup\zangoole\Sat
(Sat مخفف Saturday (شنبه) است.)
حالا این فایل را با اسم Backup.bat ذخیره کنید. هر وقت این فایل اجرا شود نسخهی پشتیبان شما ایجاد میشود. حالا کافیست از کنترل پنل وارد Scheduled Tasks شوید و مشخص کنید که این برنامه مثلآ هفتهای یک بار اتوماتیک اجرا شود.
برای این کار Add Scheduled Tasks را انتخاب کنید و طبق عکس های زیر پیش بروید:

خوب حالا اون برنامهی پشتیبان گیر که ساختیم طبق برنامهای که مشخص کردهایم سر موقع اجرا میشه و ما اطلاعاتمان را از دست نمیدیم. اگر خیلی تند به تند لازم ندارید که پشتیبان تهیه کنید هر وقت مایل بودید کول دیسکتان را نصب کنید و سپس خودتان برنامه را اجرا کنید.
اصل کار ما تازه از اینجا شروع میشود!
اگر قصد دارید تا آخر Scroll Down کنید از خیر این پست بگذرید!
تا دقیق نخوانید چیزی یاد نخواهید گرفت.
تا اینجای کار را از TeamTutorials یاد گرفتم. اما زنگوله این وسط چی کاره است؟ یک مترجم خشک و خالی؟ نه نه نه! حالا بیایید یکم خلاقیت به کارمان اضافه کنیم. چه خلاقیتی؟ اگر در بالا دقت کرده باشید میبینید که دستور پشتیبان گیری یک فولدر با نام روز هفته (به انگلیسی) ایجاد میکند. حالا ما با استفاده از Batch Programming تغییراتی اعمال میکنیم که فولدر ها به ترتیب سال ، ماه و روز هفتهی فارسی ایجاد شوند.
کاری که باید بکنیم این است آن برنامهی یک خطی را کمی تغییر دهیم. اصلآ آن یک خط را ول کنید. از اول شروع میکنیم:
کد ما میشود:
@echo off
set var1=%date:~0,3%
if %var1%==Sat set rooz=shanbe
if %var1%==Sun set rooz=1shanbe
if %var1%==Mon set rooz=2shanbe
if %var1%==Tue set rooz=3shanbe
if %var1%==Wed set rooz=4shanbe
if %var1%==Thu set rooz=5hanbe
if %var1%==Fri set rooz=jome
FOR /F "TOKENS=1* DELIMS= " %%A IN ('DATE/T') DO SET CDATE=%%B
FOR /F "TOKENS=1,2 DELIMS=/ eol=/" %%A IN ('echo %CDATE%') DO SET dd=%%B
FOR /F "TOKENS=1,2 eol=/ DELIMS=/ " %%A IN ('DATE/T') DO SET mm=%%B
FOR /F "TOKENS=2,3 DELIMS=/ " %%A IN ('echo %CDATE%') DO SET yyyy=%%B
xcopy c:\zangoole\* h:\Backups\%yyyy%\%mm%\%dd%\%rooz%\zangoole\* /Y /S >>
h:\Backups\%yyyy%\%mm%\%dd%\%rooz%\Log-%yyyy%-%mm%-%dd%.txt
از آنی که فکر میکنید خیلی خیلی ساده تر است ، فقط توضیحات را با دقت بخوانید!
خط اول: چیز مهمی نیست. اگر نباشد کد های برنامه هنگام اجرا شدن در صفحه دیده میشود.
خط دوم: در اینجا ما یک متغیر تعریف میکنیم به نام var1 و روز هفته را در آن میریزیم.
خط سوم تا نهم: میگوییم اگر var1 مساوی با Sat بود متغیر rooz را مساوی با shanbe قرار بده و الی آخر… این طوری روز هفته به فارسی را در متغیر rooz داریم.
خط دهم: این دستور تاریخ روز را بر میگرداند یعنی سال و ماه و روز همگی در کنار هم. ( با فرمت dd/mm/yyyy )
خط یازدهم تا شانزدهم: این خطوط متغیری تعریف میکنند و سال و ماه و روز را جداگانه در آنها میریزند یعنی مثلآ mm میشود مساوی با 07 یعنی ماه هفتم و dd میشود 18 یعنی روز هجدهم و yyyy میشود 2008.
خط هفدهم تا آخر: این خط دستور اصلی ما است که میگوید هر چه در پوشهی c:\zangoole وجود دارد را کپی کن در
h:\Backups\%yyyy%\%mm%\%dd%\%rooz%\zangoole
که برنامه با توجه به دستور هایی که بالا به آن دادیم به جای %yyyy% سال ، به جای %mm% ماه ، به جای %dd% روز و به جای %rooz% نام روز هفته به فارسی را میگذارد.
یعنی مثلآ اگر من امروز این برنامه را اجرا کنم یک پوشه به آدرس زیر در درایو h من که کول دیسک ام است ساخته میشود:
h:\Backups\2008\09\28\1shanbe\zangoole
Y/ میگوید اگر فایل موجود بود روی همان فایل بنویس و سوال نکن.
S/ میگوید اگر پوشهای خالی بود آن را کپی نکن.
قابلیت تولید Log:
آنچه بعد از Y / S/ میبینید میگوید خروجی دستور xcopy که همان آدرس فایل های کپی شده است را در یک فایل به نام
Log-%yyyy%-%mm%-%dd%.txt ذخیره کن. یعنی هر وقت بخواهید میتوانید به پوشهای که نسخهی پشتیبان در آن قرار دارد بروید و ببینید که چه فایل هایی با موفقیت کپی شدهاند.
دریافت این اسکریپت – کمتر از 1KB
خوب چطور بود؟ با یک نت پد چه کار ها که نمیشود کرد ، نه؟
















زنگوله جان، جالب بود. من هم خیلی علاقه مند بودم به اینجور اسکریپت نویسی. نمیدونم چقدر با لینوکس کار میکنی/آشنایی داری. در لینوکس محیط اسکریپت نویسی بسیار قویتری نسبت به ویندوز وجود داره. کار کردن در ترمینال و نوشتن دستورهایی که تقریبا هرکاری بتونن بکنن در لینوکس خیلی هیجان انگیزتره!
ممنون بابت این پست جالب …
پاسخ به این نظر
بسیار جالب وکاربردی. همیشه از ساده ترین نکات به بهترین نحو استفاده می کنید و آن را با دیگران شریک می شوید. ممنون
پاسخ به این نظر
عالی بود، ساده و کاربردی، البته با برنامه های بک آپ امروزی مردم کمتر به فکر چنین کارایی میفتن! اما سادگی همیشه محبوبه، یه سر بهم بزنید، دوست دارم نظرتون رو در مورد Python و بدونم، و آیندش، یا حق
پاسخ به این نظر
سلام . نکته بسیار جالب و به درد بخوری بود به خصوص برای ما برنامه نویسا. شاد باشی
پاسخ به این نظر
سلام می خواستم بپرسم این شیوه برای ویستا هم کار می کنه؟
و این که اگه کول دیسک رو به عنوان درایو پشتیبان انتخاب کنیم آیا باید هرروز به کامپیوتر وصلش کنیم؟
پاسخ به این نظر
سلام
ایا همچین کاری رو تو لینوکس هم میشه کرد ؟
راستی از پیشنهادتون ممنونم
وردپرس یه مشکلی که داره اینه که دست ادمو برای عوض کردن وبلاگ نگ کرده و خودش یه سری وبلاگ در اختیارمون گذاشته .من قالبای مختلف رو امتحان کردم تا به این رسیدم
ولی فکر میکنم حق با شماست شاید با عوض کردن رنگ فونت کمی اوضاع بهتر بشه .
پاسخ به این نظر
@ سیامک:
راستش ویستا را امتحان نکردم ولی احتمال خیلی خیلی قوی کار میکنه. اگر ویستا داری که امتحانش مجانیه!
اگر کول دیسک را به عنوان درایو پشتیبان انتخاب کنی خوب طبیعتآ هر وقت بخوای بکاپ بگیری باید وصلش کنی.
پاسخ به این نظر
@ narcissus:
شدنش که حتمآ میشه ولی راستش من بلد نیستم چطوری.
میتونی از جادی (freekeyboard.net) بپرسی.
پاسخ به این نظر
سلام عزیز جان.
خوبی.
میخواستم در مورد ویروس حرف های از سر درد ازت کمک بخوام
هرچی تلاش کردم نتونستم ژاکش کنم
همینطوری که میدونی وقتی کامژیوتر دچار این ویروس میشه قسمت
tools options
میره تو زیبانه فایل همه چی میخوره بهم. و با عوض کردن ویندوزم اثرات این ویندوز میمونه و بعد از چند روز خودشو بازیابی میکنه و دوباره کار میکنه.
من که کلافه شدم ار بس موتورهای جستجو رو گشتم برای جستجو باید از کلماتی استفاده کنی که همون اولش قبل از اوردن نایج جستجو عبارت فیلتر میشه و نتایج بالا نمیاد چر.کسی هم کمکی نکردن.
پاسخ به این نظر
بابا چقدر تخصصی می نویسی! به نظر من بهترین پست کل وبلاگت بود. من که استفاده بردم مثل اون یکی پست هات. ولی خوب یه نموره استفاده از این پست بیشتر به من حال داد! بابک جان امیدوارم مثل همیشه موفق باشی و بتونی بیشتر و بهتر بنویسی. بابک جان چرا اینقدر دیر به دیر آپدیت می کنی؟ یک کم زود به زود تر آپدیت کن.خوب!
موفق باشی.
پاسخ به این نظر
خوب بود
پاسخ به این نظر
سلام
پاسخ به این نظر
سلام – خسته نباشید.آیا شما در مورد تلویزیونهای LCD اطلاعات دارید؟به خصوص در مورد زمان جایگزینی تصویر.می خواهم یک تلویزیون بخرم که زمان جایگزینی تصویر آن ۸ ثانیه است و احتمالا کمی بالاست.این تلویزیون سامسونگ است در صورتیکه من تلویزیون پارس دیده ام که این زمان در آن ۵ ثانیه بوده(یا حد اقل ادعا کرده).اگر برایتان مقدور است پاسخ را ایمیل کنید در غیر اینصورت جئاب را همینجا بگذارید خواهم دید. با تشکر-موسوی
پاسخ به این نظر
یه گامنت افتخار انگیز ناک زیر کامنتت تو تیم توتاریالز گذاشتم…
پاسخ به این نظر
سلام . باور کردنی نیست اما من هفته پیش نیاز به این مطلب داشتم تا همیشه در سرورم یه دایرکتوری رو بکاپ بگیرم اما از انجایی که عادت کردم با نرم افزار های زیپ این کار رو کنم اینه اصلا به نت پد توجه نکردم .
یاداوری خیلی خوبی بود . ممنون
پاسخ به این نظر
آقا سلام این کدی که نوشتی خیلی عالیه ولی فقط تو ویندوز کار میکنه میخواستم اگه ممکنه یه کدی بنویسید که همین کار رو تو داس ورژن ۷ هم بتونه انجام بده
پاسخ به این نظر
ببخشید یادم رفت بگم که فرمان اجرا میشه ولی فولد با فرمت تاریخ رو نمیتونه بسازه
پاسخ به این نظر
آقا ممنون به درد من که خیلی خورد.خدا حافظ
پاسخ به این نظر
سلام
با تشکر از مطلب جالبی که نوشتی خیالی جالب و بدرد بخور بود و میخواستم بدونم اگر بخوام این اطلاعات رو بصورت Zip برام بک آپ بگیره چکار باید بکنم .
پاسخ به این نظر