تالار های گفتمان ایران
پنل کاربر



به تالارهای گفتگوی IranHalls خوش آمدید
برگشت   تالار های گفتمان ایران > کامپیوتر و الکترونیک > سیستم عامل > لینوکس/یونیکس

جدیدترین مباحث انجمنها

تبليغات

پاسخ
قدیمی 16-12-2010, 16:06   #1

ناظر انجمن

کاربر فعال

 
آواتار mahshid

 
تاریخ عضویت: Sep 2010
ارسالها: 5,497
تشکر: 5,152
تشکر شده 3,486 بار در 1,478 پست
سکه: 10,492
پیشفرض فایل‌هایتان را بدون‌پشتیبان نگذارید

فایل‌هایتان را بدون‌پشتیبان نگذارید

راهکارها و ابزارهاي تهيه نسخه پشتيبان در سيستم عامل لينوکس

سيد مصطفي ناطق‌الاسلام

اشاره: کیفیت هارد‌دیسک‌ها افزایش‌یافته و بعید است در طول زمانی که ازیک هارددیسک استفاده می‌کنیم، دچار مشکلی جدی شود. پس بهتر است دردسر پشتيبان گرفتن را فراموش کنیم، نه؟ اما اگر خودمان به اشتباه به داده‌هایمان آسیب زدیم چه؟ برای شما هم پیش آمده که هنگام نصب‌کردن یک سیستم عامل جدید (که این روزها هم با ورود ویندوز‌7 و اوبونتوی 10/9 بازارش داغ است)، درایو ویندوز یا لینوکس‌‌خود را به کلي نابود کنید؟ از این گذشته، اگر هارددیسک شما واقعاً دچار مشکل سخت‌افزاری جدی‌شد و از داده‌هایتان نسخه پشتیبان نداشتید، مقصر کیست؟ می‌توانید تصور کنید که در بازار کامپیوتر راه می‌روید و با خشم به هارد‌دیسک‌های پشت ویترین‌ها نگاه می‌کنید؟ از بخت خوش، قیمت درایوهای اکسترنال هم پایین آمده و معقول است که هر شخصی متناسب با مجموع ظرفیت هارد‌دیسک‌های کامپیوترش، دست‌کم یک هارددیسک اکسترنال هم برای پشتيبان گرفتن دوره‌ای‌داشته‌باشد. شاید امسال «اتوبوس جهانگردی» نصیب شما شود!

در مقایسه با ویندوز که بیشتر کاربران در هر صورت با آن آشنایی دارند، تهیه کردن نسخه پشتیبان در لینوکس دو تفاوت عمده دارد. یکی آن‌که در ویندوز برخی از سیستم‌هاي فايلي حتی برای کاربر Administrator هم قفل شده‌اند و به طور مستقیم امکان کپی‌کردن آن‌ها هنگامی که سیستم عامل کنترل کامپیوتر را در دست گرفته وجود ندارد.

به‌همين دليل، برای تهیه نسخه پشتیبان از درایو سیستم عامل‌در ویندوز (مثلاً با برنامه‌ای مانند Norton Ghost) باید کامپیوتر را دوباره‌راه‌اندازي کنيد و فرآیند بوت و کنترل کامپیوتر را به برنامه پشتيبان‌گيري بسپارید. البته به‌ظاهر در نسخه‌های جدیدتر برخی از نرم‌افزارهای پشتيبان‌گيري تحت ویندوز، امکان خواندن تمام فایل‌ها از درون سیستم عامل فراهم شده‌است که به شکلی غیرمستقیم انجام‌می‌گیرد.

در هر حال در لینوکس چنین محدودیتی وجود ندارد و کاربری که سطح دسترسی Root را داشته‌باشد، می‌تواند همه فایل‌ها و شاخه‌های درون سیستم را بخواند، تغییر دهد یا پاک کند.

در‌حقيقت اگر کاربر Root باشید، با یک فرمان کوتاه می‌توانید سیستم عامل در حال کار را مجبور‌کنيد خودش را پاک کند (البته، قصد ندارم آن فرمان را در اینجا فاش کنم)! بنابراین، برای تهیه کردن نسخه پشتیبان از «همه چیز» در لینوکس، و برای بازگرداندن سیستم عامل به وضعیت پیشین آن، با استفاده از یک نسخه پشتیبان به خارج شدن از محيط جاري سيستم عامل نيازي نيست.

نکته دیگر درباره لینوکس (و سیستم‌عامل‌های یونیکسی دیگر) در مقایسه با ویندوز، سا‌ختار هرمی دایرکتوری‌ها است. در لینوکس یک شاخه Root وجود دارد که هر درایو، سخت‌افزار و شاخه دیگری، در زیرشاخه‌ای از آن قرار دارد. این معماری ساده، در مقایسه با ویندوز که درایوهای مختلف (مانند C و D) هر کدام شاخه جداگانه خود را دارند، بی‌‌آن که زیرشاخه یک پوشه یا شاخه کلی‌تر باشند، کار کردن با فایل‌ها و پوشه‌ها را آسان‌تر مي‌کند، زيرا با هر فایل یا شاخه‌ای در حال کار‌کردن باشید، می‌دانید که آدرس آن در نهایت از شاخه Root شروع می‌شود (که با علامت / نشان داده‌می‌شود). اما در موارد کم‌شماری ممکن است این نوع معماری کمی‌گیج‌کننده باشد، از جمله هنگامی که می‌خواهید (برای نمونه) از تمام فایل‌های روی هارددیسک‌خود نسخه پشتیبان تهیه کنيد.

فرض کنید، یک هاردیسک اکسترنال را به کامپیوترخود وصل کرده‌اید (به طور معمول، با اتصال USB) و می‌خواهید از تمام فایل‌ها نسخه پشتیبان بگیرید. به‌يقين براي شروع باید این قطعه خارجی را به سیستم عامل معرفي‌کنيد. معمولاً سیستم‌عامل‌های امروزی خود این نوع درایوها را می‌شناسند و آن‌ها را به اصطلاح Mount (نصب) می‌کنند.

در سیستم عامل‌های خانواده لینوکس، برای دسترسی به این گونه درایوها، یک پوشه به درایو نصب‌شده اختصاص می‌یابد (که Mount Point خوانده می‌شود). اما این Mount Point نيز خود زیرشاخه‌ای از Root است، به‌عنوان‌مثال در سیستم اوبونتوی من، هارددیسک اکسترنال در زیرشاخه‌ای به نام media/Buffalo/ قرار می‌گیرد. حالا اگر بخواهم از شاخه / یا حتی از زیرشاخه media/ نسخه پشتیبان بگیرم، خود درایو اکسترنال هم در زیرشاخه‌ای از شاخه مبدأ قرار دارد و ممکن است یک حلقه نامتناهی از فرآیندهای کپی‌شدن فایل‌ها ایجاد شود! چاره کار آسان‌است؛ هنگام اجرای برنامه پشتيبان‌گير، شاخه مقصد را از زیرشاخه‌های مبدأ جدا کنيم. یعنی در مثال بالا، به نرم‌افزار می‌گوییم که از همه چیز نسخه پشتیبان بگیر، به جز از شاخه media/Buffalo/ (که شاخه مقصد است).

اما تهیه نسخه پشتیبان و بازیابی سیستم به یک وضعیت قبلی، در لینوکس چگونه انجام می‌شود؟ درابتدا یک حالت بسیار ساده، اما کامل را مرور‌کرده، سپس برخی ابزارهای پیشرفته‌تر را معرفی‌کرده و دو نمونه از این ابزارها را بررسی مي‌کنيم. در پایان باز هم یک حالت ساده دیگر را در نظر می‌گیریم، اما با ابزاری متفاوت و
احتمالاً خطرناک!

ساده‌ترین حالت در یک سناریوی تهیه نسخه پشتیبان، آن است که روی یک کامپیوتر سیستم عاملی نصب است (در این مورد، لینوکس) و احیاناً به جز درایو سیستم عامل، درایوهای دیگری هم روی هارددیسک(های) سیستم وجود دارند و می‌خواهیم از تمام داده‌های موجود روی درایو سیستم عامل و درایوهای دیگر، نسخه پشتیبان تهیه کنيم. به زبان ساختار فایلی لینوکس، می‌توان گفت می‌خواهیم از شاخه Root و همه زیرشاخه‌های آن نسخه پشتیبان تهیه کنیم.

فرض کنیم یک هارد اکسترنال به کامپیوتر وصل کرده‌ایم که در شاخه media/usbdevice/ نصب شده‌است. ساده‌ترین کار ممکن در این حالت این است که در خط فرمان (ترمینال) سیستم از دستوری مانند Tar که برای ساختن و کار‌کردن با آرشیوهای فشرده فایلی با فرمت‌های مختلف به کار می‌رود، استفاده کنيم. اما چون می‌خواهیم به تمام سيستم‌هاي فايلي دسترسی داشته‌باشیم (از جمله به فایل‌هایی که فقط کاربر Root اجازه دسترسی به آن‌ها را دارد)، ابتدا باید در خط فرمان به سطح دسترسی Root برویم.

در توزیع‌هایی مانند OpenSuse یا Fedora این کار را می‌توان با تایپ‌کردن دستور su و سپس وارد‌کردن رمز‌عبور کاربر Root انجام داد. در سیستم‌های خانواده اوبونتو کاربر Root به طور پیش‌فرض غیرفعال است، پس باید به کمک دستور Sudo به سطح دسترسی Root دست یافت. یک راه ساده این است که دستور su را با sudo اجرا کنيم، یعنی در ترمینال تایپ کنیم:
sudo su

سپس رمزعبور کاربر حاضر را وارد کنيم. بعد از وارد شدن به سطح اجازه کاربر su (سرنام Super User)، ساده‌تر آن است که یک‌راست به شاخه Root برویم:

cd /

در‌ادامه می‌خواهیم یک فایل‌فشرده از همه محتویات هارددیسک‌بسازیم و آن را روی هارد اکسترنال در شاخه media/usbdevice/ قرار دهیم. بهتر است پیش از انجام این کار مطمئن شویم هیچ درایو اضافه‌ای (جز درایو مقصد) به سیستم متصل نیست. اگر برای نمونه یک DVD در درایو نوری کامپیوتر باشد، محتویات آن نیز در این شیوه در فایل پشتیبان حاضرخواهدبود (که در مرحله استفاده احتمالی از این فایل برای بازآوری سیستم، یک عامل مزاحم خواهدبود)، مگر آن که محل Mount شدن آن را به طور دستی جدا کنیم (به شیوه‌ای که در زیر خواهیم‌دید). برای این منظور کافی است در خط فرمان تایپ کنیم:

tar cvpzf /media/usbdevice/backup.tgz --exclude=/media/usbdevice /

Tar به طور مشخص، دستوری است که از آن استفاده می‌کنیم. cvpzf گزینه‌هایی هستند که با Tar به کار می‌بریم تا به آن بگوییم یک فایل آرشیو ایجاد کن، اجازه‌های دسترسی به فایل‌ها و شاخه‌ها را به همان شکل حاضر حفظ‌کن و از gzip برای فشرده‌کردن فایل آرشیو استفاده کن. می‌توان به جای gzip از Bzip2 استفاده کرد (با جایگزین‌کردن z با j در cvpzf) و فایل فشرده‌تری با فرمت tar.bz2 ساخت که البته ساختن‌آن نیز زمان بیشتری به طول می‌انجامد.


سپس آدرس و اسم کامل فایل پشتيبان را می‌گوییم (backup.tgz روی درایو اکسترنال)، بعد از آن مشخص می‌کنيم که خود این شاخه باید مستثني شود. می‌توان گزینه= exclude-- را به تعداد دلخواه و برای مستثني کردن تعداد دلخواهی از فایل‌ها و دایرکتوری‌ها به کار برد.

آخرین جزء این فرمان هم به سادگی یک علامت/ است که آدرس دایرکتوری Root باشد. باتوجه به بزرگی یا کوچکی حجم مجموع فایل‌ها، فرآیند ساخت فایل پشتيبان ممکن است مدت کم یا زیادی به طول انجامد. اما فرآیند ساخت فایل پشتیبان به همین سادگی است و درون محیط خود سیستم‌عامل انجام می‌شود.

حالا فرض کنیم که می‌خواهیم سیستم عامل و تمام فایل‌های دیگر موجود در هارددیسک را با استفاده از این فایل پشتیبان به حالت اوليه‌اش بازگردانیم. کافی است باز هم با سطح دسترسی Root در خط فرمان تایپ کنیم.

اما پیش از اجرای این دستور مطمئن شوید که تمام مراحل را مطالعه کرده‌اید و نتیجه احتمالی آن را به خوبی درک می‌کنيد، زيرا دستور زیر، فایل‌های موجود در سیستم را بازنویسی می‌کند و اگر (برای نمونه) یک فایل متنی را تغییر داده‌باشید و نسخه تازه‌تر آن حاوی اطلاعات مهمی افزون بر نسخه پشتيبان باشد، در این فرآیند نسخه تازه را از دست خواهید داد. مطمئن شدید؟ دستوری که به کار می‌بریم، این است:
tar xvpfz /media/usbdevice/backup.tgz -C /

یا اگر از فرمت bz2 برای ساخت فایل پشتیبان استفاده کرده‌اید، دستور زیر را تایپ کنيد:
tar xvpfj /media/usbdevice/backup.tar.bz2 -C /

این فرآیند هم مدتی طول خواهدکشید و در پایان آن، سیستم به حالت هنگام پشتيبان گرفتن بازخواهدگشت. به همین سادگی. تنها لازم است اگر برخی دایرکتوری‌ها را هنگام ساخت فایل پشتيبان مستثني کرده‌باشیم، آن‌ها را بعد از بازآوری سیستم دوباره ایجاد کنيم.

در اين ميان، يک نکته قابل توجه اين‌است که اگر از این فرآیند برای منتقل‌کردن یک پیکربندی کامل سیستم به یک هارددیسک جدید استفاده کنيم یا به هر شکل Boot Manager را (که معمولاً Grub است) دچار اختلال کرده‌باشیم (مثلاً با نصب‌کردن ویندوز)، در مرحله آخر لازم است Grub را هم ترمیم کنيم که راهنماهای زیادی برای انجام دادن این کار نوشته شده‌اند و در اینجا به آن نمی‌پردازیم.

ابزارهای پیشرفته‌تر
تا همین جا هم قدرت روشی که مرور کردیم به سادگی با بسیاری از نرم‌افزارهای تجاری قابل مقایسه است، به ویژه آن که در مقایسه با سناریوی ویندوزی، نیازی به دوباره‌راه‌اندازي کردن سيستم در هیچ مرحله‌ای وجود ندارد. اما به دلایل بسیاری ممکن است بخواهیم پشتيبان گرفتن را به شکل مؤثرتر و منعطف‌تری انجام دهیم و چندین ابزار لینوکسی مختلف نیز برای این منظور وجود دارند. بیایید به چند نمونه از این ابزارها نگاهی بیاندازیم.

Rsync
Rsync یک برنامه بسیار سودمند برای پشتيبان گرفتن و نیز برای بازیابی فایل‌ها از نسخه پشتيبان است. برنامه Rsync مبتنی بر الگوریتمی به همین نام است و همان‌گونه که از نامش پیدا است، شیوه کار آن مبتنی بر منطبق‌کردن (Synchronization) یک دایرکتوری مقصد با دایرکتوری منبع است. قدرت Rsync در آن است که با استفاده از کدگذاری داده‌ها در مواقع لازم، تبادل داده میان منبع و مقصد را به میزان زیادی کاهش می‌دهد.

Rsync به سادگی دو دایرکتوری داده‌شده را با هم هماهنگ می‌کند (به شکل یک‌طرفه) و این فرآیند را می‌توان هنگام تهیه نسخه پشتیبان در یک جهت و در زمان بازآوری، در جهت مخالف مورد استفاده قرار داد. يکي ديگر از مزیت‌هاي استفاده از Rsync این است که به طور پیش‌فرض فایل‌ها را نه به شکل یک بسته واحد و فشرده، بلکه با همان ساختار فایل و دایرکتوری منبع می‌نویسد (اگرچه امکان ساختن فایل‌های آرشیوی فشرده را نیز دارد) و به این ترتیب می‌توان نسخه پشتیبان را در هر زمانی به طور مستقل مورد استفاده قرار‌داد. برای تهیه پشتيبان‌های دوره‌ای نیز لازم نیست هر بار تمام داده‌ها را منتقل کرد، بلکه Rsync دایرکتوری‌های منبع و مقصد را می‌پوید و فقط فایل‌ها و دایرکتوری‌های تازه و فایل‌هایی را که تغییر داده‌اند به مقصد می‌نویسد و بقیه را بی‌تغییر می‌گذارد.

به همین دلیل، سرعت Rsync از بسیاری از ابزارهای پشتيبان‌گیری و باز‌آوری دیگر بیشتر است. با این اوصاف عجیب نیست که به پرکاربردترین ابزار پشتيبان‌گیری در دنیای لینوکس تبدیل شده‌است. Rsync برای انتقال داده‌ها میان مبدأ و مقصد از پروتکل‌های مختلفی مانند rsh و ssh نیز پشتیبانی می‌کند.

Rsync را باید از خط فرمان اجرا کرد و گزینه‌های فراوانی دارد که امکانات زیادی در اختیار کاربر می‌گذارند. نصب کردن Rsync آسان است، زيرا در بیشتر مخزن‌ها توزیع‌های مختلف وجود دارد و کافی است تنها آن را انتخاب کنید و بقیه کار را به سیستم‌عامل بسپارید.

کار کردن با Rsync بسیار ساده است و به‌خصوص می‌توان آن را در فایل‌های اسکریپت برای طراحی سناریوهای شخصی و دوره‌ای پشتيبان‌گیری مورد استفاده قرار داد، اما چند برنامه با رابط گرافیکی هم بر مبنای Rsync ساخته شده‌اند که در ادامه یکی از آن‌ها را بررسی می‌کنیم.

luckybackup
luckybackup یکی از برنامه‌هایی است که از Rsync برای تهيه نسخه پشتيبان و بازآوری فایل‌ها و دایرکتوری‌ها استفاده می‌کند و همچنین امکان طراحی سناریوهای پشتيبان‌گيري دوره‌ای را نیز فراهم می‌آورد. به عنوان نمونه دیگری از برنامه‌های مبتنی بر Rsync می‌توان به Flyback و Back In Time اشاره‌کرد.

luckybackup در مخزن‌های اوبونتو (و احتمالاً بیشتر توزیع‌های دیگر) موجود نیست، اما در سایت این نرم‌افزار، انواع فایل‌های نصب‌کننده آن برای معماری‌ها و توزیع‌های مختلف ارائه شده و نصب‌کردن آن با استفاده از این فایل‌ها بسیار آسان است. پس از نصب‌کردن آن در اوبونتو، آیکون‌های آن را در دو منوی مختلف سیستم عامل خواهیدیافت: یکی در Applications > Accessories > luckyBackup که سطح دسترسی عادی دارد و برای کارکردن با دایرکتوری‌هایی که سطح دسترسی Root را نیاز ندارد، به کار می‌رود. دیگری در Applications > System Tools > luckyBackup که سطح دسترسی Root دارد و برای اجرا شدن برنامه از این طریق، باید رمزعبور کاربر جاری را وارد کنيد.



شکل 1

رابط کاربری این برنامه بسیار ساده‌ است. کافی است دایرکتوری‌های مبدأ و مقصد را انتخاب کنید (شکل ۱). برای مستثني کردن فایل‌ها و دایرکتوری‌های دیگر هم یک زبانه مستقل در بخش Advanced وجود دارد که می‌توان به تعداد دلخواه استثنا به آن افزود (شکل ۲).


شکل 2

با علامت‌زدن گزینه مربوط به بازآوری (Restore) در همین قسمت، سناریوی بازآوری نیز به طور خودکار تولید می‌شود که درحقيقت از دید Rsync معکوس جریان منطبق کردن فایل‌ها بین مبدأ و مقصد است. همچنین با کلیک‌کردن روی تصویر ساعت در همین صفحه می‌توان به بخش برنامه زمانی رفت که تمام گزینه‌های لازم را برای ایجاد هر نوع برنامه زمانی دوره‌ای یا غیردوره‌ای دارد (شکل ۳).



شکل 3

پس از ایجاد کردن یک برنامه زمانی، می‌توان آن را به سناریوهای موردنظر اعمال‌کرد. سناریوهای ایجادشده را می‌توان ذخیره کرد و در دفعه‌های بعد مورد‌استفاده قرار‌داد. برای اجرا کردن هر سناریو کافی است آن را در صفحه اصلی برنامه انتخاب کرده و گزينه Start را کلیک کنید(شکل 4).


شکل 4

Fwbackups
Fwbackups را برخی ساده‌ترین نرم‌افزار پشتيبان گرفتن در لینوکس می‌دانند. رابط کاربری آن ساده است و خبر خوش برای کاربران ویندوز، آن‌که نسخه ویندوزی هم دارد. Fwbackups هم در مخزن‌های اوبونتو موجود نیست و نصب آن با کامپایل‌کردن کد منبع در چند پله ساده انجام می‌شود (همان روال معمول Configure و سپس Make و درنهايت Make install که در فایل Readme همراه بسته کد منبع نیز به روشنی توضیح داده‌شده‌است).

پس از نصب برنامه و اجراي آن (به ترتیب از منوهای System->Prefrences->fwbackups در اوبونتو)، رابط کاربری ساده‌ای در برابر شما گشوده می‌شود که امکان ایجاد سناریوهای دسته‌ای پشتيبان یا تهيه‌پشتيبان‌ تنها برای یک بار را در اختیارتان می‌گذارد (شکل ۵).

__________________

رفیق خنده ی از ته دل ، چند ؟!!!


mahshid آفلاین است   پاسخ با نقل قول
جذاب ترین ها

قدیمی 16-12-2010, 16:06   #2

ناظر انجمن

کاربر فعال

 
آواتار mahshid

 
تاریخ عضویت: Sep 2010
ارسالها: 5,497
تشکر: 5,152
تشکر شده 3,486 بار در 1,478 پست
سکه: 10,492
پیشفرض



شکل 5

من گزینه اول (Backup Sets) را انتخاب کردم و یک سناریوی ساده (مانند مثال قبلی) برای پشتيبان گرفتن از دایرکتوری temp/test1/ ایجادکردم که دایرکتوری مقصد نیز temp/test1/test2/ (درون دایرکتوری مبدأ) بود (شکل‌های ۶ و ۷).

شکل 6


شکل 7


Fwbackups باتوجه به انتخاب شما نسخه پشتیبان را به شکل یک فایل آرشیو فشرده یا با همان ساختار فایل و دایرکتوری منبع ایجاد می‌کند که من حالت دوم را انتخاب کردم (شکل ۸).


شکل 8

در قسمت گزینه‌های پیشرفته‌تر، دایرکتوری‌هایی را که می‌خواهیم مستثني شوند، مشخص مي‌کنيم و همچنین دستورهایی را برای اجرا شدن پیش و پس از فرآیند پشتيبان‌گیری تعیین مي‌کنيم.
Fwbackups تمام ساختار دايرکتوری‌های مادر را نیز در نسخه پشتیبان قرار می‌دهد، به این مفهوم که در سناریوی ساده‌ای که ایجاد کردم، دایرکتوری نسخه پشتيبان پوشه‌ای با نام خود برنامه و تاریخ پشتيبان‌گیری ایجاد‌کرد و درون آن به ترتیب یک پوشه tmp و درون آن یک پوشه test1 قرار داشت و درنهایت درون آن فایل‌ها و پوشه‌هایی بود که از آغاز درون temp/test1/ قرار داشتند.

به این ترتیب، برای بازآوری دایرکتوری temp/test1/ با استفاده از این نسخه پشتیبان، باید آدرس دایرکتوری Root (یا همان /) را به عنوان مقصد تعیین‌کنيم که در این حالت لازم است Fwbackups را با سطح دسترسی Root اجرا کرده‌باشیم (در اوبونتو با فرمان sudo fwbackups).

dd: بازی با آتش
dd (سرنام Dataset Definition) یکی از دستورهای ساده، قدرتمند و (در صورت نادیده گرفتن این قدرت) خطرناک در لینوکس و یونیکس است. dd برای کپی و تبدیل داده‌ها به شکل خام به کار می‌رود و در سطح بسیار پایین کار می‌کند، در‌حقيقت بایت به بایت. سینتکس دستور dd متفاوت از سینتکس متداول در دستورهای دیگر لینوکس است و از یک قالب option=value پیروی می‌کند. زيرا dd در سطح پایین کار می‌کند، برخلاف ابزارهایی مانند Rsync می‌توانید آدرس سخت‌افزار را به عنوان ورودی و خروجی به آن بدهید و در‌حقيقت بهتر‌است هنگام استفاده از dd برای تهيه يک نسخه پشتيبان از یک درایو، آن درایو را unmount کرده باشیم. سخت‌افزارهای سیستم همگی در شاخه dev/ قرار دارند و برای نمونه، درایوهای مختلف روی یک هارددیسک IDE ممکن است با نام‌هایی مانند hda1 و hda2 شناخته شده‌باشند. برای پيدا‌کردن این نام‌ها روی یک سیستم لینوکسی می‌توانید از دستور Mount استفاده‌کنید.

برای نمونه، فرض کنید می‌خواهیم یک هارددیسک IDE را که سیستم با نام کلی hda می‌شناسد (hda1 و hda2 و... نام درایوهای روی این هارددیسک هستند)، از رده خارج کنيم و می‌خواهیم جلوی بازیابی احتمالی داده‌های روی آن را توسط اشخاص دیگر بگیریم. کافی است (با سطح دسترسی Root که همیشه برای اجرا کردن dd لازم است) در خط فرمان تایپ کنیم:
dd if=/dev/urandom of=/dev/hda

به عنوان یک مثال سازنده‌تر (!) فرض کنید می‌خواهیم قبل از تغییر دادن پیکربندی یک هارددیسک SATA که با نام sda در شاخه dev قرار دارد، Master Boot Record آن را ذخیره کنيم. dd در این مورد به این شکل به کار می‌رود:
dd if=/dev/sda of=/home/sam/MBR.image bs=446 count=1

bs در اینجا نشان‌دهنده block size است و count=1 نشان می‌دهد که تنها سکتور اول این هارددیسک را (که MBR را در خود دارد) ضبط می‌کنیم.
در نهایت، به عنوان نمونه‌ای از استفاده از dd برای تهیه نسخه‌های پشتيبان، فرض کنید می‌خواهیم همه محتویات درایو sda1 از همان هارددیسک مثال پیش را عیناً به یک فایل img روی یک هارددرایو اکسترنال بنویسيم (به اصطلاح، کلون کنيم) :
dd if=/dev/sda1 of=/media/usbdevice/1.img
و اگر بخواهیم بعدها آن را از همان جا بازیابی کنیم:
dd if=/media/usbdevice/1.img of=/dev/sda1

dd به دلیل کار کردنش در سطح پایین، کندتر از دستورهایی مانند cp یا برنامه‌‌ای مانند Rsync کا‌ر‌می‌کند، اما دقت آن در حد بایت است تا جایی که از آن در تحقیقات و بازبینی‌های قضایی استفاده می‌شود! همچنين به دلیل قدرت بالای این دستور که در صورت بی‌احتیاطی می‌تواند به زیان بزرگی بیانجامد، برخی به شوخی آن را Data Destroyer (نابودگر داده‌ها) می‌خوانند.

به عنوان گزینه‌ای ایمن‌تر و سریع‌تر به جای dd می‌توان از ddrescue نام برد که از مجموعه نرم‌افزارهای GNU است و بر پایه dd و از اساس با ++C نوشته شده‌است.
__________________

رفیق خنده ی از ته دل ، چند ؟!!!


mahshid آفلاین است   پاسخ با نقل قول
پاسخ

موضوعات مشابه
موضوع نویسنده انجمن پاسخها آخرین نوشته
توروخدا لپ تاپ را بر روی پاهايتان نگذارید rhasani_c0om تازه ها و اخبار پزشکي 0 05-10-2010 13:56
نگذارید خورشیدخانم بترسد 151515 داستان و رمان 0 16-09-2010 15:32



تبليغات


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
امکانات
حالات نمایش

قوانین ارسال
نمی توانید موضوع جدید ارسال کنید
نمی توانید به موضوعات پاسخ دهید
نمی توانید فایل پیوست ضمیمه کنید
نمی توانید نوشته خود را ویرایش کنید

BB code فعال
Smilies فعال
[IMG] فعال
HTML غیرفعال
Trackbacks are فعال
Pingbacks are فعال
Refbacks are فعال



ساعت: 09:40 بوقت GMT


Farsi Skin Developed By: MoOrY & AminGod Powered by: vBulletin Version 3.8.6
Copyright © 2000-2006 Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.5.2

vBFarsi Language Pack Version 4.0 beta1

vBCredits I v2.0.0 ©2010, PixelFX Studios