PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مقاله فایل‌هایتان را بدون‌پشتیبان نگذارید (بخش اول)



MAHDIAR
30th April 2010, 01:57 AM
در مقایسه با ویندوز که بیشتر کاربران در هر صورت با آن آشنایی دارند، تهیه کردن نسخه پشتیبان در لینوکس دو تفاوت عمده دارد. یکی آن‌که در ویندوز برخی از سیستم‌های فایلی حتی برای کاربر 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 /

MAHDIAR
30th April 2010, 01:58 AM
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 ساخته شده‌اند که در ادامه یکی از آن‌ها را بررسی می‌کنیم.

استفاده از تمامی مطالب سایت تنها با ذکر منبع آن به نام سایت علمی نخبگان جوان و ذکر آدرس سایت مجاز است

استفاده از نام و برند نخبگان جوان به هر نحو توسط سایر سایت ها ممنوع بوده و پیگرد قانونی دارد