نحوه بازیابی سیستم لینوکس با استفاده از 13 ابزار کارآمد
در این مقاله، به بررسی و توضیح نحوه بازیابی سیستم لینوکس پرداخته خواهد شد. ابتدا به بررسی چگونگی کار سیستم بازیابی در ویندوز و لینوکس علل و عوامل مختلفی که ممکن است منجر به نیاز به بازیابی سیستم لینوکس شوند، میپردازیم. سپس ابزارها و تکنیکهایی که برای بازیابی سیستم لینوکس استفاده میشوند، معرفی می کنیم. این ابزارها شامل نسخهبرداری از دادهها، استفاده از روشهای بازیابی سیستم فیزیکی و مجازی، استفاده از ابزارهای پشتیبانگیری و بازیابی سیستم، استفاده از توزیعهای کمکی و استفاده از ابزارهای خاص برای بازیابی دادهها میشود.
در مواردی مانند خرابی سیستم، نفوذ ناخواسته افراد غریبه، حذف تصادفی فایلها یا اشتباهات کاربر، نیاز به بازیابی سیستم لینوکس برای بازیابی دادهها و بازگشت به وضعیت عادی نیاز دارید.
در ادامه، مراحل و فرایندهای مورد نیاز برای بازیابی سیستم لینوکس را به تفصیل شرح میدهیم. این شامل شناسایی و تحلیل مشکل، انتخاب روشهای مناسب بازیابی، اجرای روشهای انتخاب شده، تست و تأیید بازیابی، و برگشت به وضعیت عادی سیستم است. همچنین، نکات کلیدی امنیتی مرتبط با بازیابی سیستم لینوکس نیز مورد بحث قرار خواهد گرفت.
با مطالعه این مقاله، خوانندگان قادر خواهند بود تا با نحوه صحیح و کارآمد بازیابی سیستم لینوکس آشنا شده و در صورت بروز مشکلات و خرابیهای سیستم، بتوانند اطمینان داشته باشند که میتوانند اطلاعات خود را بازیابی کرده و به وضعیت عادی سیستم بازگردند.
اگر شما هم از سیستم لینوکسی استفاده می کنید یا سرور مجازی لینوکسی دارید، تا پایان این مقاله همراه ما باشید. اگر سرور مجازی لینوکس ندارید و می خواهید این سیستم عامل را روی سرور خودتان هم نصب کنید، می توانید به صفحه خرید سرور مجازی لینوکس سر بزنید و صاحب یک سرور مجازی لینوکس آماده شوید.
چگونگی کار سیستم بازیابی در ویندوز چگونه است؟
قابلیت بازیابی سیستم اصلی به سال ۲۰۰۰ و ویندوز ME (نسخه Millennium Edition) بازمیگردد. این ویژگی تنها قادر به بازیابی فایلها و رجیستری سیستم بود و خیلی قابل اعتماد نبود. بعدها بهبودهایی در ویندوز XP و ویستا صورت گرفت. از آن زمان به بعد، بازیابی سیستم بر روی یک سرویس سیستمی به نام سرویس نسخه پرتراکم (Volume Snapshot Service) بستگی دارد که میتواند به طور خودکار تصاویر رونوشت از سیستم را ایجاد کرده و آنها را به نقاط بازیابی قابل بازیابی تبدیل کند.
اگرچه این رویکرد جدیدتر قابلیت سفارشیسازی بیشتری را ارائه میدهد (کاربران میتوانند فضای دیسک را برای رونوشتها اختصاص دهند و دایرکتوریهایی را که باید نظارت شوند انتخاب کنند)، همچنین محدودیتهایی را هم به همراه دارد. رونوشتهای بازیابی سیستم فقط برای پارتیشنهای NTFS کار میکنند و در نسخههای قبل از ویندوز 8 قابلیت دایمی ندارند.
هر نسخه جدید ویندوز باعث ایجاد ابهامهای بیشتری شد، زیرا نسخههای «خانگی» ویستا اینترفیسی برای بازیابی نسخههای قبلی نداشتند و ویندوز 8 امکان بازیابی نسخههای قبلی یک فایل را از طریق صفحه خواص Explorer غیرفعال کرد. در نهایت، ویندوز 10 بازیابی سیستم را به طور کامل غیرفعال کرد و وظیفه فعالسازی آن را به عهده کاربران گذاشت. احتمالاً تصمیمگیری در این زمینه به منظور هدایت کاربران به سمت بازیابی و تازگی بخشیدن به سیستم بود.
اما در مورد ویندوز کافی است. بیایید ببینیم چگونه میتوانیم این کار را در لینوکس انجام دهیم.
چگونه سیستم بازیابی در لینوکس کار میکند؟
در واقع، سیستم بازیابی در لینوکس با همان نام «System Restore» وجود ندارد. شما نمیتوانید این ویژگی را در منوهای توزیعتان پیدا کنید. شما باید یک رویکردی را پیدا کنید که برای شما مناسب باشد و برنامههای لازم را نصب کنید. بیشتر این برنامهها بر اساس همان اصلی که سیستم بازیابی در ویندوز است، عمل میکنند. آنها اسنپشاتهایی از سیستم شما در فواصل زمانی مشخص ایجاد میکنند و به شما امکان بازگشت به یک نقطه زمانی انتخاب شده را میدهند. پیش از آن که معرفی کردن برنامهها را شروع کنیم، به طور خلاصه توضیح میدهیم که اسنپشاتهای سیستم چیستند.
به عنوان آخرین نکته این توصیه را برای شما داریم که حتما نسخه های پشتیبان از لینوکس و ویندوز داشته باشید تا در صورت بروز مشکل اطلاعات شما محفوظ باشد؛ اگر با نحوه پشتیبان گیری از سرور مجازی ویندوز و لینوکس آشنا نیستید، می توانید به مقاله ما مراجعه کنید و آموزش ما را دنبال کنید.
تفاوت بین اسنپشاتهای سیستم و پشتیبانها چیست؟
اصطلاحات ممکن است متفاوت باشند، اما به طور کلی، پشتیبانها نسخههایی از فایلها هستند که در یک مکان مجزا از خود فایلها نگهداری میشوند. پشتیبانها به ندرت شامل تمامی اطلاعات یک دیسک میشوند؛ در صورتی که شامل آن ها باشند، آن ها به عنوان تصویر دیسک یا کلون دیسک شناخته میشوند. این نوع پشتیبانگیری «تمامیت» کل دیسک را شامل میشود که شامل دادههای کاربر، سیستم عامل، بوت سکتورها و موارد دیگر است.
تصاویر دیسک میتوانند در فرآیند بازیابی سخت افزار بدون سیستم عامل، که در آن محتویات یک هارد دیسک را بر روی یک کامپیوتر بدون سیستم عامل کپی میکنید، استفاده شوند.
از سوی دیگر، اسنپشاتها حالتهای ذخیره شدهای از یک فایل سیستم در نقاط زمانی خاصی هستند و در همان دستگاه ذخیره سازی فایل سیستم قرار دارند. آن ها معمولاً شامل همه دایرکتوریها و فایلهای یک فایل سیستم یا حداقل فایلهای مورد نیاز سیستم عامل هستند. نگهداری اسنپشات در همان مکان فایل سیستم، امکان انجام بازگشت به عقب را فراهم میکند، اما در عین حال فضای دیسک را نیز صرفهجویی میکند.
در این تنظیم، هر اسنپشات جدید نیازی به ذخیره کل حالت فایل سیستم ندارد. به جای آن، اسنپشاتها مانند پشتیبانهای تدریجی عمل میکنند و تنها تغییراتی که از زمان آخرین اسنپشات صورت گرفتهاند را ذخیره میکنند. این به این معنی است که هر اسنپشات به اسنپشات قبلی وابستگی دارد تا سیستم را به طور کامل بازیابی کند. به طور معکوس، یک پشتیبان کامل یا تصویر دیسک مستقل از دیگر پشتیبانها است و میتواند به تنهایی سیستم را بازیابی کند.
مشکل اسنپشاتها این است که در مقابل خرابیهای دیسک آسیبپذیر هستند – اگر دیسک شما آسیب مکانیکی شدیدی ببیند، احتمالاً همراه با فایل سیستم کلیه اسنپشاتها را از دست خواهید داد. برای جلوگیری از این اتفاق، توصیه میشود که همانطور که لینوکس را نصب و راهاندازی میکنید، یک اسنپشات بگیرید و آن را در یک دستگاه ذخیره جداگانه کپی کنید.
در لینوکس برنامههای زیادی وجود دارند که به شما در نگهداری از اسنپشاتهای سیستم کمک میکنند. بیشتر آنها برای مبتدیان مناسب هستند و نیاز به مهارتهای پیشرفته لینوکس ندارند. به انتخاب ما نگاهی بیندازید و برنامهای را که برای جریان کاری شما بهترین است، انتخاب کنید.
بازگشت به زمان قبل (Back In Time)
یکی از کاربر پسندترین قابلیت های لینوکس بک این تایم است که تنظیمات دقیق تری را ارائه می دهد. رابط کاربری آن مانند یک مدیر فایل معمولی عمل میکند و شما میتوانید همه اسنپشاتهای خود را پیشنمایش کنید، در هرکدام از آنها فایلها را مرور کنید و فایلها و پوشههای انتخابی را بازگردانی کنید.
بک این تایم میتواند از طریق PPA در اوبونتو نصب شود:
sudo add-apt-repository ppa:bit-team/stable
sudo apt-get update
sudo apt-get install backintime-qt4
چندین توزیع این برنامه را در مخازن خود ارائه میدهند و اگر توزیع شما آن را نداشته باشد، همیشه میتوانید منبع را دانلود کنید.
چگونگی عملکرد Back In Time
بک این تایم اسنپشاتهایی را ایجاد میکند که شامل پوشههای انتخابی شما هستند، اما فقط میتوانید آنها را به بازیابی کنید که دسترسی نوشتن به آنها را داشته باشید. اسنپشاتهای شما میتوانند رمزگذاری شده و در دستگاه شبکه، دیسک خارجی یا فایل سیستم محلی شما ذخیره شوند. بک این تایم تنها فایلهایی که تغییر کردهاند را بهروزرسانی میکند و تب گزینهها در Settings > Options به شما امکان میدهد اسنپشاتها را غیرفعال کنید هنگامی که تغییراتی لازم نباشد.
اسنپشاتها میتوانند برنامهریزی شوند (روزانه، هفتگی، ماهانه، چند بار در روز یا فقط در هنگام راهاندازی مجدد) یا میتوانید آنها را بهصورت دستی با کلیک بر روی دکمه در نوار ابزار اصلی ایجاد کنید. تب حذف خودکار در Settings > Auto-remove به شما اجازه میدهد تعیین کنید که زمانی که بک این تایم باید اسنپشاتهای قدیمی را حذف کند و میتوانید اسنپشاتها را با اختصاص یک نام و انتخاب Don’t remove named snapshots را محافظت کنید.
مشابه Cronopete، برنامه Back In Time برای بازگرداندن پوشهها یا فایلها مناسبتر است، اما اگر میخواهید تمام فایلسیستم را بازگردانی کنید، همچنین امکانپذیر است. بازگرداندن یک نسخهپشتیبان به راحتی با انتخاب آن و تصمیمگیری برای بازگرداندن تنها چند پوشه یا کل فایلسیستم انجام میشود.
Systemback
Systemback در یک رابط کاربری کوچک، تعداد قابل توجهی از ویژگیها را فراهم میکند. متأسفانه، تنها کاربران Debian و Ubuntu و نسخههای مشتق آنها در حال حاضر میتوانند از Systemback استفاده کنند، زیرا برای سایر توزیعها فایل نصبی موجود نیست. توسعهدهنده یک مخزن PPA ارائه کرده است:
sudo add-apt-repository ppa:nemh/systemback
sudo apt-get update
sudo apt-get install systemback
نحوه عملکرد Systemback
Systemback فقط یک ابزار نمونهبرداری سیستم نیست. این قابلیت را دارد که سیستم فعلی شما را به یک دیسک زنده یا دیویدی زنده تبدیل کند که میتوانید در سایر کامپیوترها روش بوت کنید. همچنین، میتواند بوتلودر GRUB 2 را تعمیر و یا مجدداً نصب کند و فایل fstab را تعمیر کند. با این حال، احتمالاً آن را عمدتاً برای نمونهبرداری سیستم استفاده خواهید کرد.
Systemback تعداد کل نمونههای برداشته شده را به ده تا محدود میکند و از شما انتقال آنها را در اختیار دارد. نمونهها میتوانند به صورت تدریجی (فقط فایلهای تغییر کرده کپی میشوند و بقیه توسط لینکهای سخت نمایش داده میشوند) باشند، اما میتوانید این قابلیت را در صفحه تنظیمات غیرفعال کنید. در هنگام بازگردانی فایلها، میتوانید بازگرداندن کامل یا فقط کپی فایلهای اصلی سیستم را انجام دهید. اطلاعات شخصی شما، مانند تصاویر و اسناد، در نمونههای برداشته شده شامل نمیشوند، اما شما میتوانید آن ها را به یک دیسک زنده با گزینه Live system create > Include user data منتقل کنید.
Systemback به شما امکان میدهد زمانبندی نمونهبرداری را سفارشی کنید، اما شما میتوانید این قابلیت را خاموش کنید و نقاط بازگردانی را به صورت دستی ایجاد کنید. مهم است به خاطر داشته باشید که Systemback از فایل سیستم NTFS پشتیبانی نمیکند، بنابراین شما قادر نخواهید بود نمونهای را به یک پارتیشن فرمت شده به صورت NTFS بازگردانید یا از آن استفاده کنید.
Snapper
اسنپر (Snapper) به طور نزدیکی به سیستم عامل اوپنسوزه (openSUSE) مرتبط است و در نسخه 12.1 معرفی شد. امکان نصب آن در توزیعهای دیگر نیز وجود دارد، اما تضمینی برای عملکرد آن وجود ندارد. راهاندازی آسانترین روش برای تنظیم اسنپر نصب اوپنسوزه روی یک بخش BTRFS است؛ در این حالت، اسنپر به طور خودکار نصب و پیکربندی میشود. شما میتوانید اسنپر را به عنوان یک ابزار خط فرمان یا از طریق یاست (YaST) استفاده کنید و یک جایگزین به نام snapper-GUI نیز وجود دارد.
نحوه کارکرد Snapper
اسنپر تعداد و نوع مختلف از نسخههای پشتیبانی (اسنپشات) را ایجاد میکند. اسنپشات قبل و بعد از نصب بستههای جدید با استفاده از zypper یا یاست و هنگامی که سیستم را از طریق ماژولهای یاست تغییر میدهید، ایجاد میشوند. به این ترتیب، میتوانید اسنپشات را مقایسه کرده و در صورت بروز مشکلات، به حالت قبلی بازگردید. اسنپشات زمانبندی نیز به طور خودکار هر ساعت ایجاد میشوند مگر آنکه آن ها را غیرفعال کنید. سایر اسنپشات دیگر، از جمله آن هایی که به صورت دستی ایجاد میکنید، با نام اسنپشات تکی شناخته میشوند. اسنپشات در همان بخشی که برای آن ایجاد میشوند قرار دارند و در اندازه آن ها رشد میکنند، بنابراین وقتی که فضای دیسک خود را سازماندهی میکنید، این را در نظر داشته باشید.
به طور پیش فرض، اسنپر فقط برای بخش ریشه اسنپشات ایجاد میکند. برای شامل شدن بخشها و زیرحجمهای BTRFS دیگر، باید برای هر یک از آن ها یک فایل پیکربندی ایجاد کنید. این کار باید از طریق ترمینال انجام شود. اطمینان حاصل کنید که دستور را به عنوان روت اجرا کنید:
snapper -c CONFIGNAME create-config /PATH
در اینجاc-
به معنای «پیکربندی» است، CONFIGNAME نامی است که برای پیکربندی انتخاب میکنید و /PATH مکان بخش یا زیرحجم است. به عنوان مثال:
snapper -c home create-config /home
میتوانید پیکربندیهای فعال فعلی را با استفاده از دستور زیر بررسی کنید:
snapper list-configs
تمامی فایلهای پیکربندی در مسیر/etc/snapper/configs
ذخیره میشوند و شما میتوانید آنها را در یک ویرایشگر متنی عادی تغییر دهید. به عنوان مثال، میتوانید اسنپشات ساعتی را غیرفعال کنید، حذف خودکار اسنپشات را تغییر دهید و به اسنپر بگویید چند اسنپشات قدیمی را نگه دارد.
ماژول یاست اسنپر به شما امکان میدهد اسنپشات را ایجاد و مقایسه کنید. همچنین میتوانید به یک اسنپشات قبلی بازگردید و نسخه قبلی یک فایل تکی یا تعدادی از فایلهای انتخاب شده را بازیابی کنید.
یک روش برگشت به عقب اضافی توسط بستهgrub2-snapper-plugin
برای openSUSE فراهم شده است. این به Snapper اجازه میدهد که از یک snapshot بوت کند و سیستم را مستقیماً از منوی bootloader بازیابی کند. اگر به درستی پیکربندی شده باشد، باید یک گزینه در GRUB 2 به نام «Start bootloader from a read-only snapshot» وجود داشته باشد. در توزیعهای دیگر میتوانید از grub-btrfs استفاده کنید تا نتایج مشابهی را بدست آورید. توجه کنید که شما فقط میتوانید از snapshot های ایجاد شده برای بخش روت بوت کنید.
چگونه برنامههای نصب شده را پشتیبانگیری و بازیابی کنیم؟
گاهی اوقات شما فقط میخواهید نرمافزارهایی را که نصب کردهاید بازیابی کنید، به جای اینکه کل سیستم عامل را بازگردانید. این معمولاً در مواردی مانند تغییر توزیع، نصب مجدد توزیع فعلی یا ارتقاء آن رخ میدهد. خوشبختانه، ما میتوانیم به این ابزارهای مفیدی که فرآیند مهاجرت برنامه را سادهتر میکنند، اتکا کنیم.
اولین معرفی مربوط به Aptik است، یک ابزار پشتیبانگیری از برنامه که توسط توسعهدهنده TimeShift ایجاد شده است.
این تنها برای توزیعهای مبتنی بر Ubuntu است و میتوانید آن را از PPA توسعهدهنده نصب کنید:
sudo apt-add-repository ppa:teejee2008/ppa
sudo apt-get update
sudo apt-get install aptik
Aptik میتواند لیست بستههای نصب شده در حال حاضر را همراه با لیست مخازنی که استفاده میکنید و خود بستههای دریافت شده صادر کند. همچنین گزینههایی برای صادر کردن تنظیمات برنامه، تمهای دسکتاپ و مجموعههای آیکون وجود دارد. Aptik بستهها را بر اساس نوع نصب (پیشنصب شده با سیستم عامل، توسط کاربر نصب شده، به صورت خودکار به عنوان وابستگیها نصب شده و از فایلهای deb. نصب شده) دستهبندی میکند. شما میتوانید فایلهای deb. دریافت شده را با کشیدن و رها کردن در لیست قرار دهید تا آنها در پشتیبانی شما گنجانده شوند. شما میتوانید پشتیبان را در هر جایی که میخواهید نگهداری کنید و با نصب Aptik و انتخاب گزینه بازیابی در پنجره اصلی برنامه، آن را در یک توزیع تازه نصب شده استخراج کنید.
کاربران لینوکس مینت میتوانند از ابزار پشتیبانگیری Mint Backup استفاده کنند که تقریباً همان کاری را که Aptik انجام میدهد، انجام میدهد. علاوه بر بازیابی برنامههای نصب شده، این ابزار قادر است به سرعت یک پشتیبانی از یک پوشه انتخاب شده و مجوزهای آن اقدام کند.
افرادی که از آرچ لینوکس استفاده میکنند میتوانند به Backpac رجوع کنند. این برنامه لیستی از بستههای نصب شده به صورت دستی (هم از مخازن رسمی و هم از AUR) را ایجاد میکند و میتواند فایلهای فردی انتخاب شده را پشتیبانگیری کند. بازگرداندن وضعیت سیستم با استفاده از Backpac به نصب بستههای صادر شده، حذف بستههایی که در تصویربرداری مورد نظر قرار نگرفتهاند و بازنویسی فایلهای سیستم با نسخه قبلی صادر شده آن ها میرسد.
البته، راهی برای انجام این همه بدون نرمافزار شخص ثالث وجود دارد و تنها از ابزارهای ارائه شده توسط سیستم مدیریت بستههای شما استفاده میکند. در سیستمهای مبتنی بر dpkg، شما میتوانید با استفاده از دستور زیر یک لیستی از برنامههای نصب شده را صادر کنید:
dpkg --get-selections > /home/yourusername/apps.txt
سپس آن فایل را به همراه اطلاعات مخزن از/etc/apt/sources.d/
و /etc/apt/sources.list
به سیستم جدید منتقل کنید. مسیر صحیح به فایل apps.txt را تعیین کنید و برنامهها را به سیستم جدید با استفاده از دستورات زیر انتقال دهید:
dpkg --set-selections < /path/to/apps.txt
sudo apt-get update
sudo apt-get dselect-upgrade
برخی از مدیران بستهی گرافیکی (مانند Synaptic) میتوانند لیستی از برنامههای نصب شده را صادر و وارد کنند، بنابراین شما نیازی ندارید این کار را از ترمینال انجام دهید.
راهکارهای پیشرفتهی بازگردانی سیستم
احتمالاً برنامههایی که تا کنون پیشنهاد دادهایم، برای شما کافی نیستند. خبر خوب این است که راهکارهای دیگری نیز وجود دارد. توصیف آنها به عنوان “پیشرفته” به این معنی نیست که بیش از حد پیچیده هستند؛ فقط ممکن است برای انتخاب اولیه یک مبتدی مناسب نباشند.
Rsnapshot [دیگر در دسترس نیست]
اگر به دنبال یک راه سریع برای گرفتن تصاویر از ترمینال هستید، rsnapshot را امتحان کنید. میتوانید آن را در مخازن اکثر توزیعهای لینوکس پیدا کنید.
فایل etc/rsnapshot.conf/ در اینجاست که شما برنامه زمانبندی گرفتن نسخه پشتیبان (snapshot)، زمان حذف نسخههای قدیمی و همچنین فایلها و پوشههایی که باید واقعاً شامل شوند را تعریف میکنید. پس از پیکربندی راضی کننده، با استفاده از دستور زیر، rsnapshot را تست کنید:
rsnapshot configtest
rsnapshot -t hourly
تا اطمینان حاصل شود که همه چیز به خوبی اجرا میشود. به خاطر داشته باشید که فایل پیکربندی rsnapshot نیاز به تب بین گزینهها دارد و نه فاصله، بنابراین پارامترها را با استفاده از کلید تب تغییر ندهید. اما باید بدانید که هیچ ویژگی بازیابی خودکاری وجود ندارد، بنابراین شما باید فایلها را به صورت دستی از یک نسخه پشتیبان انتخابی کپی کنید.
Obnam
Obnam شبیه به rsnapshot است با برخی ویژگیهای جالب اضافی. ابتدا یک نسخه پشتیبان کامل از سیستم شما ایجاد میکند و سپس نسخههای پیوستی را که فقط شامل فایلهای جدید و/یا تغییر کرده است، ایجاد میکند. نسخههای پشتیبان شما میتوانند رمزگذاری شوند و Obnam به طور خودکار بازگشایی رمزگذاری را انجام میدهد. همین امر برای بازیابی نسخههای پشتیبان شما نیز صادق است: دستوری برای آن وجود دارد و Obnam به شما اجازه میدهد محل بازیابی را انتخاب کنید.
شما میتوانید مسیرهای دلخواه خود را شامل یا استثنا کنید و نسخههای پشتیبان خود را در یک سرور یا مکان از راه دور دیگر ذخیره کنید. البته، روشی برای حذف نسخههای قدیمی نیز وجود دارد و راهنمای کاربر رسمی یک منبع عالی از مستندات است که همه چیز را توضیح میدهد.
LVM Snapshots
وقتی به حفظ دادههای ارزشمندتان میپردازید، همیشه بهتر است درباره آن به تفصیل فکر کنید. اگر شما فقط در حال راهاندازی سیستم لینوکس خود هستید، ارزش دارد LVM (مدیریت ولوم منطقی) را به عنوان یک راه برای سازماندهی دیسکهای سخت خود در نظر بگیرید.
چرا؟ اگرچه دقیقاً یک برنامه نیست، اما اجرای LVM در هسته لینوکس با یک قابلیت نسخهبرداری محضری همراه است. شما میتوانید نسخههای پشتیبان را مانت کنید و به همان شکلی که دیسک یا پارتیشن دیگری هستند، آنها را مشاهده کنید، چندین نسخه را ترکیب کنید و آنها را برای حل مشکلات سیستم بازیابی کنید. به علاوه، میتوانید از dattobd استفاده کنید، یک ماژول هسته لینوکس که نسخهبرداری تدریجی یک سیستم فعال و در حال اجرا را بدون نیاز به آنمونت کردن پارتیشنها یا راهاندازی مجدد کامپیوتر، پشتیبانی میکند.
همانطور که دیدید، در لینوکس شما گزینههای متعددی برای دریافت قابلیت بازیابی سیستم دارید، اما در تکنیکی از لحاظ فنی بسیار مشابه هستند. آیا راه بهتری برای جایگزینی System Restore در لینوکس وجود دارد؟ شاید در آینده این برنامهها با ادامه توسعه، روشی بهتر مشخص شود یا شاید در ترکیبی از ابزارهای موجود قرار داشته باشد.
شما چه فکر میکنید؟ آیا از این برنامهها استفاده کردهاید؟ آیا با این موافق هستید که لینوکس به چیزی مانند System Restore نیاز دارد؟ به بحث بپیوندید و نظرات و پیشنهادات خود را در نظرات به اشتراک بگذارید.
Rsync
Rsync یک ابزار مبتنی بر لینوکس است که اغلب برای انتقال و همگامسازی فایلها و دایرکتوریها به صورت محلی و از یک میزبان دیگر با استفاده از هر پوسته از راه دور، یا به صورت از راه دور با استفاده از یک daemon rsync مورد استفاده قرار میگیرد.
پارامترها:
افزایش جزئیات | -verbose، -v |
تغییر حالت خروجی stderr (پیشفرض: خطاها) | -stderr=e|a|c |
سرکوب پیامهای غیر خطا | -quiet، -q |
ایجاد پشتیبانها (جزئیات درباره –suffix و –backup-dir را ببینید) | -backup، -b |
ایجاد پشتیبانها در ساختار سلسلهمراتبی بر اساس DIR | -backup-dir=DIR |
پسوند پشتیبانها (پیشفرض: ~ بدون –backup-dir) | -suffix=SUFFIX |
استثنای فایلهایی که دریافتکننده نسخه جدیدتری دارد | -update، -u |
رد کردن بر اساس چکسام | -checksum، -c |
ذخیره/بازیابی ویژگیهای امتیاز با استفاده از xattrs | -fake-super |
انطباق فایلها با الگو را حذف کن | -exclude=PATTERN |
الگوهای استثنا را از فایل بخوان | -exclude-from=FILE |
فایلهایی که با الگو مطابقت دارند را دربرگیر | -include=PATTERN |
الگوهای include را از فایل بخوان | -include-from=FILE |
پشتیبانگیری سرور لینوکس
مدیای پشتیبان را وارد کنید و با استفاده از دستورfdisk -l
حرفه را باز کنید.
ترمینال خود را باز کرده و دستورات زیر را اجرا کنید:
$ sudo rsync -aAXv / --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /target_folder
این دستور کل ریشه سیستم را به جز دایرکتوریهای /dev، /proc، /sys، /tmp، /run، /mnt، /media و /lost+found پشتیبان میگیرد و آنها را در پوشه مقصد ذخیره میکند.
پشتیبانگیری از دایرکتوری home که فایلهای بزرگ MS Word و پوشههای پست الکترونیکی را دارد:
rsync -aiz . bkhost:backup/user_name/
بازیابی سرور لینوکس
کرونوپت (Cronopete) یک نسخهبرداری از لینوکس و ابزار پشتیبانگیری برای مک است. شما میتوانید تمام فایلهای کاربر را بر روی یک هارد دیسک جداگانه کپی و بازیابی کنید، اما این برای پشتیبانگیری از کل سیستم عامل مناسب نیست.
چگونگی عملکرد Cronopete
برخلاف برنامههای دیگر در این لیست، Cronopete اصول پشتیبانگیری و اسنپشات را ترکیب میکند و شما را مجبور میکند اسنپشاتها را در یک دستگاه خارجی نگهداری کنید. به طور پیشفرض، هر ساعت فایلهای شما را برای تغییرات بررسی میکند، اما میتوانید فاصله زمانی را در کادر تنظیمات تغییر دهید. اگر یک فایل تغییر نکرده باشد، Cronopete تنها به آن لینک سخت میدهد به جای کپی کردن فایل که به صرفهجویی در فضای دیسک کمک میکند.
بازگرداندن فایلها احتمالاً جذابترین قابلیت Cronopete است. این برنامه به شما امکان میدهد از زمان به زمان حرکت کنید، به عبارتی از طریق مرور بصری تمام نسخههای ذخیره شده از فایلها و پوشههای خود بگردید. برای بازگرداندن فایلها، به سادگی آنها را انتخاب کرده و روی دکمه بازگرداندن کلیک کنید. آنها از دیسک خارجی به سیستم فعلی شما کپی خواهند شد. همانطور که میتوانید حدس بزنید، Cronopete برای بازگرداندن کامل سیستم مناسب نیست، اما انتخاب عالیای است اگر میخواهید چندین نسخه از فایلهای فردی خود را نگهداری کنید.
کرونوپت را نصب کنید و دستور زیر را از ترمینال وارد کنید:
$ cronopete
در صفحه خوش آمدگویی روی Configure now کلیک کنید.
هارد دیسک خارجی یا USB را وصل کنید و روی Change disk کلیک کنید.
هارد دیسک USB خود را انتخاب کنید و روی Select کلیک کنید. این مرحله را برای هارد دیسکهای پشتیبان دیگر تکرار کنید.
برای فرمت کردن هارد دیسکها برای پشتیبانگیری، روی Format disk کلیک کنید.
ابزار به طور پیشفرض به طور فوری شروع به پشتیبانگیری از کل دایرکتوری HOME$ میکند. شما میتوانید اشیاء پشتیبانگیری را از بخش گزینهها تعریف کنید و فاصله زمانی بین پشتیبانگیریها را مشخص کنید.
برای بازیابی دادهها، روی آیکون کرونوپت در منو راست کلیک کنید و Restore files را انتخاب کنید. سپس فایلها یا پوشههای مبدأ را از USB پشتیبان انتخاب کنید و روی Restore files در بالا سمت چپ کلیک کنید.
استفاده از Bera
Bera یک سیستم پشتیبانگیری برای آسانترین پشتیبانگیری از تمام فایلها و پوشههای مهم، تنظیمات سرویسدهنده و بازیابی آنها در همان سرور یا انتقال آنها به سرور دیگر است. این ابزار قادر به انجام پشتیبانگیری کامل و بازیابی است و میتواند یک سرور پیچیده را در 10 دقیقه مهاجرت کند. همچنین قادر است دامنهها، فایلها و پوشهها را استثنا کرده و از SSH برای انتقال امن استفاده کند.
پارامترها:
اگر نسخه پشتیبان روی سرور باشد به محلی یا اگر از مکانهای دیگر باشد به SSH اشاره میکند. | منبع پشتیبان |
دایرکتوری محلی که نسخه پشتیبان در آن قرار دارد. | پشتیبان گیری LocalDir |
از طریق SSH به سرور پشتیبان متصل شوید. | پشتیبان گیری RemoteUser |
سرور پشتیبان SSH راه دور | پشتیبان گیری از راه دور |
پورت سرور SSH | پشتیبان گیری RemotePort |
دایرکتوری پشتیبان گیری از راه دور | پشتیبان گیری RemoteDir |
نسخه پشتیبان لینوکس سرور
آمادهسازی:
- سرور لینوکس
- Rsync
- SSH
- دسترسی روت به هر دو سیستم منبع و مقصد
- نصب سیستم عامل، پیکربندی شبکه، نصب بستهها و غیره برای پیکربندی سرور.
- دانلود پیکربندیهای سرویس، فایلها، پوشهها و سایر موارد با استفاده از Bera.
- بارگذاری فایلهای زیر بر روی سرور و تنظیم مجوزها:
chmod +x bera-backup.sh
chmod +x bera-restore.sh
فایل پیکربندی هر اسکریپت به شکل _bera_restore_config_example و _bera_backup_config_example است.
- پشتیبانگیری از یک سرور لینوکس در پوشه مشخص شده:
./bera-backup.sh PATH_TO_CONFIG_FILE
بازیابی سرور لینوکس
دانلود پشتیبان از سرور و بازیابی:
./bera-restore.sh PATH_TO_CONFIG_FILE
استفاده از Tar
Tar، کوتاه شده tape archive به منظور فشردهسازی و آرشیو کردن چندین فایل و پوشه برای ذخیرهسازی و توزیع آسان، که به عنوان یک تاربال شناخته میشود، استفاده میشود. این نرمافزار با استفاده از tar، gzip و bzip نسخههای پشتیبان ایجاد میکند.
پارامترها:
یک آرشیو جدید ایجاد کنید
| c–
|
ارائه خروجی پرمخاطب
| v– |
فایل آرشیو مورد استفاده را تعریف کنید.
| f– |
لیستی از فایل های موجود در یک آرشیو تهیه کنید.
| t– |
نسخه پشتیبان را استخراج کنید
| x– |
زیپ
| z– |
پشتیبانگیری از سرور لینوکس
۱. ساخت یک پشتیبان tar
tar -cvf backup_name.tar /home/user
۲. ساخت یک پشتیبان tar.gz
tar -cvfz backup_name.tar.gz /home/user
۳. استثنایی کردن فایلها.
tar --exclude file.txt --exclude file.sh -cvfz backup_name.tar.gz
۴. استخراج محتوا از یک پشتیبان.
tar -xvfz backup_name.tar.gz /backup/directory/file.txt
۵. بایگانی کردن تمام فایلها در سرور به فرمت gzip، استثنایی کردن پشتیبانی که قبلاً ساخته شده است و ایجاد یک پوشه جدید برای پشتیبان. مطمئن شوید که سرور در حالت تعمیر نیست.
sudo tar –cvpzf backup_name.tar.gz –exclude=/home/server/backup.tar.gz –one-file-system
بازیابی سرور لینوکس
بازیابی پشتیبان tar.gz.
tar -xvpf /media/your_harddisk/backup.tar.gz
استفاده از Cpio
Cpio، یک ابزار بایگانی فایل است که برای ایجاد و استخراج بایگانی یا کپی کردن فایلها به محل دیگر استفاده میشود.
پارامترها:
ورودی استاندارد را بخوانید.
| O–
|
فایل ها را از ورودی استاندارد استخراج کنید.
| i- |
خواندن یا نوشتن اطلاعات هدر با نویسه ASCII.
| c- |
در صورت نیاز دایرکتوری ایجاد کنید.
| d- |
بدون قید و شرط کپی کنید تا فایل جدید فایل قدیمی را بازنویسی نکند.
| u- |
تهیه نسخه پشتیبان از سرور لینوکس
- فایلها را پشتیبان بگیرید.
ls file * /cpio -acvf >/root/backup.cpio
- محتوای پشتیبان را مشاهده کنید.
cpio -it </root/backup.cpio
cpio -it -I /root/backup.cpio
بازیابی سرور لینوکس
فایلهای پشتیبان را بازیابی کنید.
cpio -icuvd </root/backup.cpio
استفاده از دستور DD
دستور DD (Disk to Disk) نسخه پشتیبان را از یک بخش به بخش دیگر ایجاد میکند.
تهیه نسخه پشتیبان سرور لینوکس
- نسخه پشتیبان را ایجاد کنید.
dd if=source_partition of=destination_partition
- بدون ایجاد هیچ فایل پشتیبانی، یک بخش تکراری با بخش موجود ایجاد کنید.
dd if=existing_source_partition of=destination_partition
بازیابی سرور لینوکس بخش نسخه پشتیبان را به بخش خالی دیگری بازیابی کنید.
dd if=destination_partition of=another_empty_partition
استفاده از SCP و Timeshift
TimeShift دارای رابط کاربری گرافیکی ساده است و همچنین میتوانید از طریق ترمینال از آن استفاده کنید. به طور پیش فرض، فایلهای شخصی کاربر را در اسنپشات شامل نمیشود، اما شما میتوانید دایرکتوریهای سفارشی را به اسنپشاتهای خود اضافه کنید. در اوبونتو و توزیعهای مشتق از آن، میتوانید TimeShift را از PPA توسعهدهنده دریافت کنید:
sudo apt-add-repository ppa:teejee2008/ppa
sudo apt-get update
sudo apt-get install timeshift
همچنین کاربران سایر توزیعها میتوانند فایل نصاب را دانلود کنند و آن را در ترمینال اجرا کنند:
./timeshift-latest-amd.64.run
نسخهای نیز برای فایلسیستمهای BTRFS وجود دارد که از ویژگی اسنپشاتهای BTRFS نیتیو پشتیبانی میکند.
روش عملکرد TimeShift
TimeShift به شما امکان میدهد در هر زمانی عکسهای فشرده (snapshot) از سیستمتان بگیرید و یا تنظیم کنید تا به صورت خودکار ایجاد شوند. شما میتوانید برنامه ریزی کنید تا هر ساعت، روزانه، هفتگی و ماهانه عکسهای فشرده گرفته شود و تنظیم کنید چقدر از آنها باید به صورت دورهای حذف شوند. یک گزینه ویژه به نام عکسهای فشرده بوت (Boot Snapshots) وجود دارد که پس از هر بار راهاندازی مجدد، یک عکس فشرده جدید ایجاد میشود.
بازگرداندن یک عکس فشرده با استفاده از TimeShift یک فرآیند ساده است: شما یک عکس فشرده را انتخاب میکنید و مکانی را که باید به آن بازگردانده شود انتخاب میکنید. TimeShift امکان بازگردانی عکسهای فشرده به دستگاههای خارجی را نیز ارائه میدهد و ویژگی Clone به شما اجازه میدهد وضعیت فعلی سیستم را به صورت مستقیم به دستگاه دیگری کپی کنید. این بسیار مفید است برای مهاجرت سیستم عامل شما به یک کامپیوتر جدید بدون نیاز به تنظیم همه چیز از ابتدا.
قبل از بازگرداندن یک عکس فشرده، TimeShift سوال میکند آیا میخواهید تنظیمات برنامهها را حفظ کنید و به شما اجازه میدهد که کدام تنظیمات را میخواهید حفظ کنید. به خاطر داشته باشید که برای بوت کردن به یک عکس فشرده بازگردانده شده، TimeShift نیاز به GRUB 2 دارد.
دستور SCP (Secure Copy) دادهها را از یک سیستم Unix/Linux به سیستم دیگر در همان ماشین، از ماشین محلی به ماشین راه دور و بالعکس، یا بین سرورهای راه دور مختلف کپی میکند.
پارامترها:
به صورت بازگشتی | r- |
نمایشگر پیشرفت نمایش داده نمیشود | q- |
حالت تفصیلی | v- |
کپی فایلها با شماره پورت مشخص شده | p- |
تهیه نسخه پشتیبان سرور لینوکس
پیش نیازها
- اجازهی کپی کردن فایلها در سیستم هدف را داشته باشید.
- یا یک حساب کاربری در ماشین هدف داشته باشید یا یک کلید عمومی مجاز در آن داشته باشید.
- دسترسی خواندن در ماشین مبدأ و دسترسی نوشتن در ماشین مقصد را داشته باشید.
- فایل را از محلی به سرور راه دور کپی کنید.
scp filename [email protected]:/root
- فایلها را از سرور راه دور به ماشین محلی کپی کنید.
scp [email protected]:/root/backup*
- یک پوشه را تکثیر کنید.
scp -r directory [email protected]:/root
- از رمزگذاری blowfish یا arcfour برای بهبود عملکرد استفاده کنید.
scp -c blowfish filename [email protected]:
- شماره پورت را مشخص کنید.
scp -p xxxx backup_file [email protected]:/tmp
بازیابی سرور لینوکس
تایمشیفت یک ابزار بازیابی سیستم است که در برخی توزیعهای لینوکس پیشنصب شده است و امکان بازیابی نقطه زمانی را فراهم میکند.
۱. ابتدا تایمشیفت را در ترمینال نصب کنید.
در اوبونتو و نسخههای مشتق شده:
sudo add-apt-repository -y ppa:teejee2008/timeshift
sudo apt-get update
sudo apt-get install timeshift
در فدورا، centos و RHEL:
sudo dnf install timeshift
در آرچ لینوکس و منجارو:
yay -S timeshift
۲. منوی برنامهها را باز کرده، تایمشیفت را جستجو و اجرا کنید. اطلاعات احراز هویت را وارد کرده و دکمهی تأیید را فشار دهید.
۳. تنظیمات را در راهنمای نصب تعیین کنید.
نوع نسخهبرداری را بین Rsync و Btrfs انتخاب کنید و بر روی Next کلیک کنید.
محل ذخیرهی نسخهبرداریهای تایمشیفت را مشخص کنید و بر روی Next کلیک کنید.
فرکانس نسخهبرداری را بر اساس اینکه چقدر از عناصر سیستمتان تغییر میدهید تعیین کنید.
سطوح نسخهبرداری را انتخاب کنید و بر روی Next کلیک کنید.
انتخاب کنید آیا میخواهید پوشهی home را در نسخهبرداری قرار دهید یا خیر و بر روی Next کلیک کنید.
به پایان برسانید.
۴. در پنجرهی اصلی برنامه روی دکمهی بازیابی کلیک کنید و نسخهای که میخواهید بازیابی کنید را انتخاب کنید.
استفاده از Vinchin Backup & Recovery
وینچین بکاپ و بازیابی یک برنامهی پشتیبانگیری برای ۱۲ پلتفرم ماشین مجازی (مانند VMware، Hyper-V، Xen، Oracle OLVM، و غیره)، ۶ پایگاه داده، NAS و سرورهای ویندوز/لینوکس است. این برنامه امکانات پشتیبانگیری سریع و مؤثر را با یک مدل قیمتگذاری بسیار ارزان و انعطافپذیر فراهم میکند.
این برنامه از پلتفرمهای لینوکس زیر پشتیبانی میکند:
پشتیبانگیری از فایل
- Debian Linux 10.1 تا 11.5
- Ubuntu Linux 14 تا 22
پشتیبانگیری از سرور
- RedHat Enterprise Linux 6(6.0/6.8)، 7(6.2/7.6)، 8(8.0/8.1)
- CentOS Linux 6(6.5/6.9)، 7(7.2/7.6/7.7/7.9)، 8(8.0/8.3)
نسخهبرداری خودکار از دادهها: همه چیز را با زمانبندی پشتیبانگیری سفارشی و اطلاعیههای ایمیل در موارد نادر اتوماسیون کنید.
انواع مختلف پشتیبانگیری: از جمله پشتیبانی کامل، تفاوتی، تدریجی و پشتیبانگیری دائمی تدریجی انتخاب کنید.
استراتژیهای هوشمند: فشردهسازی و تقلیل حجم نسخهبرداری را با استفاده از تکنیکهای تکرار داده و فشردهسازی ممکن کنید و در حین انتقال از تکنیک انتقال رمزگذاری شده با استفاده از SSL استفاده کنید.
بازیابی سرور: از طریق چندین رشته انتقالی و رمزگذاری انتقالی سریعاً پشتیبانهای سرور لینوکس را بازیابی کنید.
محافظت در برابر رمزنگاری نفوذی: تمامی پشتیبانهای ذخیره شده در سرور پشتیبان Vinchin را در برابر دسترسیهای مشکوک و غیرمجاز محافظت کنید.
نسخهبرداری خارج از محل: یک نسخه پشتیبان خارج از محل را در یک مکان دورتر ذخیره کنید تا برای حالت بدتر آماده باشید.
نسخه پشتیبان گیری سرور لینوکس
- به قسمت پشتیبان فیزیکی بروید، سپس روی سرور پشتیبان> پشتیبان گیری کلیک کنید و یک سرور لینوکس مجاز را انتخاب کنید.
- از فهرست کشویی یک گره مقصد و یک فضای ذخیرهسازی را انتخاب کنید.
- راهاندازی استراتژیهای پشتیبان گیری مانند زمانبندیها، انواع پشتیبان، کاهش دادهها و سیاستهای نگهداری، انتقال رمزنگاری شده و غیره.
4. تنظیمات را بررسی کرده و روی ارسال کلیک کنید. کار برنامه ریزی شده راه اندازی خواهد شد.
بازیابی سرور لینوکس
- به قسمت پشتیبان فیزیکی بروید، سپس روی سرور پشتیبان> بازیابی کلیک کنید و یک پشتیبان را به عنوان نقطه بازیابی انتخاب کنید.
- میزبان مقصد را انتخاب کنید و برای آزمایش اتصال روی آزمایش اتصال کلیک کنید. سپس حجم مقصد را پیکربندی کنید.
- استراتژیهای بازیابی مانند نخهای انتقال، انتقال رمزنگاری شده و غیره را تنظیم کنید.
- تنظیمات را بررسی کرده و ارسال کنید.
سخن آخر
در صورت بروز حادثه از دست دادن داده، پشتیبان گیری و بازیابی سرور برای سازمانها بسیار مهم است. ما در این مقاله ۱۳ راه را برای پشتیبان گیری و بازیابی آسان سرورهای لینوکس معرفی کردم. از آنجا که تعداد خطوط فرمان برای حفظ نیست و خطر فساد دیسک پشتیبان و آسیب دیدن فضای ذخیره وجود دارد، کاربران سرور میتوانند به یک راه حل پشتیبان گیری سرور حرفهای با یک رابط کاربری گرافیکی مدیریت، گزینههای متنوع پشتیبان گیری و بازیابی دادهها مانند Vinchin Backup & Recovery روی آورند تا حفاظت کاملی برای دادهها داشته باشند.
سوالات متداول:
چه کارهایی قبل از بازیابی سیستم لینوکس باید انجام دهم؟
قبل از بازیابی سیستم لینوکس، مهم است که ابتدا دادهها و اطلاعات مهم خود را پشتیبانبرداری کنید. همچنین، باید از روشهای مربوط به بازیابی سیستم لینوکس آگاه شوید و نیازمندیهای سیستم را بررسی کنید.
چه مواردی میتواند نیاز به بازیابی سیستم لینوکس ایجاد کند؟
نیاز به بازیابی سیستم لینوکس ممکن است به دلایل مختلفی ایجاد شود، مانند: خرابی سیستم عامل، حمله هکرها، حذف تصادفی فایلها مهم، خطای سختافزاری و غیره.