تغییرات اخیر

در اینجا اطلاعیه‌ها، نسخه‌ها و تغییرات جدید لیارا فهرست می‌شوند.

راهنمای کامل نصب سرور باکولا (Bacula) بر روی اوبونتو 24.04


۱۱ تیر ۱۴۰۴

باکولا (Bacula) یک نرم‌افزار متن‌باز و حرفه‌ای برای پشتیبان‌گیری و بازیابی اطلاعات در محیط‌های شبکه‌ای است. این ابزار، امکان تهیه نسخه‌های پشتیبان از سیستم‌های کامپیوتری، مدیریت فرایندهای ذخیره‌سازی و انجام عملیات بازیابی را فراهم می‌کند. اگرچه راه‌اندازی اولیه‌ی باکولا ممکن است نسبتا پیچیده به نظر برسد، اما به‌دلیل معماری ماژولار و قابلیت‌های گسترده، گزینه‌ای بسیار مناسب برای پیاده‌سازی سناریوهای متنوع پشتیبان‌گیری در مقیاس کوچک تا سازمانی محسوب می‌شود.

در معماری زیرساخت بسیاری از سرورها، بهره‌مندی از یک راهکار قابل‌اطمینان برای پشتیبان‌گیری، نقش حیاتی ایفا می‌کند؛ چراکه بازیابی سریع و موثر اطلاعات در زمان بروز اختلال یا حادثه، از ارکان اصلی برنامه‌ریزی برای بازیابی از فاجعه (Disaster Recovery) است.

در این مطلب، نحوه نصب و پیکربندی مولفه های مهم سرور باکولا (Bacula) روی یک سرور اوبونتو 24.04 را شرح خواهیم داد. این مقاله از لیارا را از دست ندهید.

با سرور ابونتو لیارا، بدون دردسر سرور خود را تنها با چند کلیک مدیریت کنید.
✅ منابع کاملاً اختصاصی و پایدار✅ سرعت بالا و ترافیک نامحدود✅ امنیت پیشرفته و پشتیبانی 24/7
خرید و راه‌اندازی سرور اوبونتو ساعتی لیارا

آنچه در ادامه خواهید خواند:

  • الزامات قبل از شروع کار.
  • مولفه های باکولا (Bacula)
  • مرحله اول: نصب و پیکربندی MySQL
  • مرحله دوم: نصب Bacula
  • مرحله سوم: ساخت دایرکتوری‌ های Backup و Restore در اوبونتو 24.04
  • مرحله چهارم: پیکربندی Bacula Director در اوبونتو 24.04
  • مرحله پنجم: پیکربندی وظایف محلی (Local Jobs)
  • مرحله ششم: پیکربندی File Set در Bacula
  • مرحله هفتم: پیکربندی اتصال به Storage Daemon
  • مرحله هشتم: پیکربندی Pool
  • مرحله نهم: بررسی صحت پیکربندی Director
  • مرحله دهم: پیکربندی Storage Daemon
  • مرحله یازدهم: تنظیم Storage Resource
  • مرحله دوازدهم: تنظیم دستگاه ذخیره‌سازی
  • مرحله سیزدهم: بررسی صحت پیکربندی Storage Daemon
  • مرحله چهاردهم: راه‌اندازی مجدد Bacula Director و Storage Daemon
  • مرحله پانزدهم: اجرای اولین Job پشتیبان‌گیری در Bacula
  • مرحله شانزدهم: ساخت یک Label جدید
  • مرحله هفدهم: جرای دستی Job پشتیبان‌گیری
  • مرحله هجدهم: بررسی پیام‌ها و وضعیت Job
  • مرحله نونزدهم: بازیابی اطلاعات در Bacula
  • سوالات متداول
  • جمع بندی
سرور Bacula

الزامات قبل از شروع کار

برای اینکه بتوانید این آموزش را به راحتی و بدون بروز هیچ‌گونه مشکلی انجام دهید، به یک کاربر روت (root) با دسترسی sudo، بر روی یک سرور اوبونتو 24.04 نیاز خواهید داشت. همچنین سرور باید فضای مورد نیاز و کافی برای نگهداری از نسخه‌های پشتیبانی کهداشته باشد.

در این مطلب باکولا (Bacula) به صورتی پیکربندی می‌شود که از نام دامنه خصوصی (FQDN) سرورها استفاده کند، به عنوان مثال bacula.private.example.com. اگر DNS راه‌اندازی نشده است، می‌توانید به جای آن از آدرس‌های IP مناسب استفاده کنید. در صورت فعال نبودن شبکه خصوصی، لازم است در تمامی تنظیمات این آموزش، اطلاعات اتصال شبکه را با آدرس‌هایی جایگزین کنید که برای سرورها قابل دسترسی باشند (مانند آدرس‌های IP عمومی یا VPN).

آموزش نصب باکولا وب روی اوبونتو 24.04
نصب باکولا وب روی اوبونتو

مولفه های باکولا (Bacula)

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

  • Bacula Director (DIR): نرم‌افزاری که عملیات پشتیبان‌گیری و بازیابی اطلاعات را مدیریت می‌کند و کار هماهنگی با File Daemon و Storage Daemon را بر عهده دارد.
  • Storage Daemon (SD): نرم‌افزاری که وظیفه خواندن و نوشتن روی دستگاه‌های ذخیره‌سازی مورد استفاده برای پشتیبان‌گیری را دارد.
  • Catalog: خدماتی که پایگاه داده‌ای از فایل‌های پشتیبان‌گیری‌شده را نگهداری می‌کند. این پایگاه داده معمولاً در یک دیتابیس SQL مانند MySQL یا PostgreSQL ذخیره می‌شود.
  • Bacula Console: یک رابط خط فرمان که مدیر پشتیبان از طریق آن می‌تواند با Bacula Director ارتباط برقرار کند و دستورات لازم را صادر کند.

نکته قابل توجه: مولفه های سرور باکولا (Bacula) اجباری به اجرای بر روی یک سرور واحد و انتخابی را ندارد، اما تمامی این مولفه ها باید در کنار هم دیگر کار کنند تا عملکرد سرور پشتیبان را فراهم کنند.

یک کلاینت Bacula، یعنی سروری قرار است از آن نسخه پشتیبان تهیه شود، مؤلفه File Daemon (FD) را اجرا می‌کند. File Daemon این امکان را به سرور Bacula (مشخصاً Director) می‌دهد که به داده‌هایی که باید پشتیبان‌گیری شوند دسترسی داشته باشد. این سرورها به عنوان «کلاینت‌های پشتیبان» یا به طور خلاصه «کلاینت» نیز شناخته می‌شوند.

همان‌طور که در مقدمه اشاره کردیم، در این آموزش، سرور پشتیبان طوری پیکربندی می‌شود که از فایل‌سیستم خود نسخه پشتیبان تهیه کند. این به این معنی است که سرور پشتیبان به عنوان یک کلاینت پشتیبان هم عمل خواهد کرد و مؤلفه File Daemon را نیز اجرا خواهد کرد.

مرحله اول: نصب و پیکربندی MySQL

Bacula برای مدیریت فهرست نسخه‌های پشتیبان (Catalog) خود از یک پایگاه داده SQL مانند MySQL یا PostgreSQL استفاده می‌کند. در این آموزش، از MySQL بهره گرفته می‌شود.

در ابتدا باید لیست های پکیج ها را به روز رسانی کنید.

sudo apt-get update

بعد از آن با استفاده از دستور زیر MySQL Server را نصب کنید.

sudo apt-get install mysql-server

در همین حین، از شما خواسته می‌شود که رمز عبوری را برای کاربر مدیر پایگاه داده MySQL (root) مشخص کنید. رمز عبور را وارد کرده و تأیید آن را انجام دهید. به یاد داشته باشید که این رمز عبور را به هیچ عنوان نباید از دست بدهید و فراموش کنید، چرا که در فرآیند نصب Bacula به آن احتیاج پیدا خواهید کرد.

مرحله دوم: نصب Bacula

در این قسمت باید مولفه های کلاینت و سرور باکولا (Bacula) را نصب کنید. برای این کار از دستور زیر استفاده کنید.

sudo apt-get install bacula-server bacula-client

در روند نصب، اطلاعاتی را برای پیکربندی Postfix که Bacula به آن نیاز خواهد داشت، که از شما پرسیده می‌شود.

  • نوع کلی پیکربندی ایمیل (General Type of Mail Configuration): گزینه Internet Site را انتخاب کنید.
  • نام سیستم ایمیل (System Mail Name): نام دامنه کامل (FQDN) یا نام میزبان سرور خود را وارد نمایید.

بعد از آن اطلاعاتی را برای راه‌اندازی پایگاه داده باکولا از شما درخواست خواهد کرد.

  • آیا می‌خواهید پایگاه داده bacula-director-mysql را با dbconfig-common پیکربندی کنید؟ گزینه Yes را انتخاب کنید.
  • رمز عبور کاربر مدیر پایگاه داده: رمز عبوری که هنگام نصب MySQL تعیین کرده‌اید وارد کنید.
  • رمز عبور برنامه MySQL برای bacula-director-mysql: یک رمز عبور جدید وارد کنید و تأیید نمایید، یا این قسمت را خالی بگذارید تا به طور خودکار یک رمز عبور تصادفی ایجاد شود.

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

sudo chmod 755 /etc/bacula/scripts/delete_catalog_backup

دیگر مولفه های مولفه های کلاینت و سرور باکولا (Bacula) شما به درستی و با موفقیت کامل نصب شده است.

نحوه مشاهده و تنظیم لاگ‌های لینوکس در سرور مجازی اوبونتو Ubuntu
تنظیم لاگ‌های لینوکس در سرور مجازی اوبونتو

مرحله سوم: ساخت دایرکتوری‌ های Backup و Restore در اوبونتو 24.04

باکولا (Bacula) به دو دایکتوری اصلی نیاز دارد:

  • ذخیره فایل های پشتیبان (Backup)
  • قرار دادن فایل های بازیابی شده (Restore)

اگر سیستم شما پارتیشن های زیادی را دارد، حتما این دایرکتوری های را بر روی پارتیشنی ایجاد کنید که فضای کافی را داشته باشد.

برای ساخت این دایرکتوری ها، از دستورات زیر استفاده کنید.

sudo mkdir -p /bacula/backup /bacula/restore

بعد از ان باید مجوزهای دسترسی این دایرکتوری ها را به صورتی انجام دهید که فقط فرآیند های Bacula (و کاربر روت) به آن‌ها دسترسی داشته باشند.

sudo chown -R bacula:bacula /bacula
sudo chmod -R 700 /bacula

مرحله چهارم: پیکربندی Bacula Director در اوبونتو 24.04

Bacula دارای مؤلفه‌های مختلفی است که باید به صورت مستقل پیکربندی شوند تا سیستم به درستی کار کند. تمام فایل‌های پیکربندی در مسیر /etc/bacula قرار دارند.

در این بخش قصد خواهیم داشت تا پیکربندی Bacula Director انجام دهیم.

فایل پیکربندی Bacula Director را با ویرایشگر متن دلخواه خود باز کنید. در این قسمت از vi استفاده شده است.

sudo vi /etc/bacula/bacula-dir.conf

مرحله پنجم: پیکربندی وظایف محلی (Local Jobs)

در Bacula، یک Job برای انجام عملیات پشتیبان‌گیری یا بازیابی تعریف می‌شود. منابع Jobدقیقا مشخص می‌کنند که هر کار دقیقاً چه عملیاتی انجام دهد، مانند مشخص کردن کلاینت، FileSet مورد نظر برای پشتیبان‌گیری یا بازیابی، و سایر جزئیات. در این بخش، وظایفی که برای پشتیبان‌گیری از فایل‌سیستم محلی استفاده می‌شوند، پیکربندی خواهیم کرد.

ابتدا در فایل پیکربندی Director، بخش مربوط به Job با نام BackupClient1 را پیدا کنید، سپس مقدار Name را به BackupLocalFiles تغییر دهید، به صورتی که به شکل زیر انجام شود.

Job {
  Name = "BackupLocalFiles"
  JobDefs = "DefaultJob"
}

بعد از این فرآیند بخش Job با نام RestoreFiles را پیدا کنید. در این بخش باید دو تغییر مهم را انجام دهید. مقدار Name را به RestoreLocalFiles تغییر دهید و مقدار Where را به /bacula/restore تنظیم کنید. نتیجه که مشاهده خواهید کرد به صورت زیر خواهد بود.

Job {
Name = "RestoreLocalFiles"
Type = Restore
Client=BackupServer-fd
FileSet="Full Set"
Storage = File
Pool = Default
Messages = Standard
Where = /bacula/restore
}

با اعمال این تغییرات، وظیفه RestoreLocalFiles فایل‌های بازیابی شده را در مسیر /bacula/restore که قبلاً ایجاد شده بود، قرار می‌دهد.

همین الان، بدون کمترین پیچیدگی، سرور مجازی خودتون رو در کمتر از ۳۰ ثانیه، راه‌اندازی کنید.
✅ عملکرد پایدار ✅ ترافیک نامحدود ✅ هزینه به‌صرفه
خرید سرور مجازی ابری

نحوه پشتیبان‌گیری از سرور LAMP با باکولا در اوبونتو 24.04
پشتیبان‌گیری از سرور LAMP با باکولا در اوبونتو

مرحله ششم: پیکربندی File Set در Bacula

FileSet در Bacula مجموعه‌ای از فایل‌ها یا دایرکتوری‌هایی است که باید در فرآیند پشتیبان‌گیری گنجانده یا حذف شوند. این FileSetها توسط Jobها استفاده می‌شوند. بخش FileSet با نام Full Set را در فایل پیکربندی پیدا کنید زیر کامنتی که با # List of files to be backed up مشخص شده است. در این قمست باید سه تغییر زیر انجام شود.

۱. افزودن گزینه فشرده‌سازی gzip برای فایل‌های پشتیبان.
۲. تغییر مسیر فایل Include از /usr/sbin به /.
۳. تغییر مسیر دوم Exclude File به /bacula.

بعد از انکه تغییرات را اعمال کرده‌ایذ، نتیجه کار باید به صورت زیر باشد.

FileSet {
  Name = "Full Set"
  Include {
    Options {
      signature = MD5
      compression = GZIP
    }    
    File = /
  }
  Exclude {
    File = /var/lib/bacula
    File = /bacula
    File = /proc
    File = /tmp
    File = /.journal
    File = /.fsck
  }
}

نکته: اگر پارتیشن‌هایی دارید که در مسیر / مانت شده‌اند و می‌خواهید آن‌ها نیز در نسخه پشتیبان گنجانده شوند، باید برای هرکدام یک رکورد File اضافی تعریف کنید.

نکته مهم در رابطه با FileSet

در نظر داشته باشید که اگر همیشه از FileSet های کلی مانند Full Set برای انجام عملیات هایی مانند پشتیبان گیری استفاده کنید. این عمل باعث می‌شود که فضای دیسک بیشتری نسبت به زمانی که انتخاب های پشتیبان گیری خاصی مصرف می‌شوند مصرف شود.

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

مرحله هفتم: پیکربندی اتصال به Storage Daemon

در فایل پیکربندی Bacula Director، بخش Storage مشخص می‌کند که Director باید به کدام Storage Daemon متصل شود. در ادامه Storage Daemon را به صورت جداگانه تنظیم خواهیم کرد. فایل پیکربندی را باز کرده و بخش Storage را پیدا کنید. مقدار Address را که به صورت localhost تنظیم شده است، با نام دامنه کامل خصوصی (FQDN) یا آدرس IP خصوصی سرور بکاپ خود جایگزین کنید. خروجی باید به صورت زیر باشد.

Storage {
  Name = File
# Do not use "localhost" here
  Address = backup_server_private_FQDN                # N.B. Use a fully qualified name here
  SDPort = 9103
  Password = "ITXAsuVLi1LZaSfihQ6Q6yUCYMUssdmu_"
  Device = FileStorage
  Media Type = File
}

این تغییر بسیار ضروری است، به این دلیل که قرار است Storage Daemon به صورتی تنظیم شود که روی اینترفیس شبکه خصوصی گوش دهد تا کلاینت‌های راه دور بتوانند به آن متصل شوند.

مرحله هشتم: پیکربندی Pool

بخش Pool در Bacula مشخص می‌کند که داده‌های پشتیبان روی چه فضایی ذخیره شوند. در این قسمت قصد خواهیم داشت که تمامی فایل‌ها را به عنوان حجم‌های ذخیره‌سازی استفاده کنیم و تنها برچسب فایل‌ها را برای شناسایی بهتر تغییر دهیم. بخش Pool با نام File را پیدا کنید و یک خط که شامل Label Format را به آن اضافه کنید. در نتیجه کار باید خروجی زیر را به شما نمایش دهد.

# File Pool definition
Pool {
  Name = File
  Pool Type = Backup
  Label Format = Local-
  Recycle = yes                       # Bacula can automatically recycle Volumes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 365 days         # one year
  Maximum Volume Bytes = 50G          # Limit Volume size to something reasonable
  Maximum Volumes = 100               # Limit number of Volumes in Pool
}

بعد از آن که نتیجه را مشاهده کردید، فایل را ذخیره کنید و از ان خارج شوید.

مرحله نهم: بررسی صحت پیکربندی Director

برای اینکه بتوانید مطمئن شوید که خطایی در فایل های پیکربندی شما در Director تان وجود ندارد، دستور زیر را اجرا کنید.

sudo bacula-dir -tc /etc/bacula/bacula-dir.conf

در شرایطی که پیامی مبنی بر خطا را دریافت نکردید، فایل bacula-dir.conf به درستی تنظیم شده است.





نحوه نصب Git در سرور مجازی ابری اوبونتو
نصب Git در سرور مجازی ابری اوبونتو

مرحله دهم: پیکربندی Storage Daemon

در این قمست نوبت به تنظیم Storage Daemon شما رسیده است، تا سرور باکولا (Bacula) بداند که داده های پشتیبان را از کدام قسمت ذخیره کند.

فایل پیکربندی Storage Daemon را با ویرایشگر دلخواه خود باز کنید. در این قسمت ما از vi استفاده کرده‌ایم.3

sudo vi /etc/bacula/bacula-sd.conf

مرحله یازدهم: تنظیم Storage Resource

برای انجام تنظیمات باید Storage را پیدا کنید. این قسمت تعیین می‌کند که Storage Daemon بر روی کدام آدرس شبکه انجام شود. برای این کار باید پارامتر SDAddress را اضافه کرده و مقدار آن را به FQDN خصوصی یا آدرس IP خصوصی سرور بکاپ تغییر دهید.

Storage {                             # definition of myself
  Name = BackupServer-sd
  SDPort = 9103                  # Director's port
  WorkingDirectory = "/var/lib/bacula"
  Pid Directory = "/var/run/bacula"
  Maximum Concurrent Jobs = 20
  SDAddress = backup_server_private_FQDN
}

مرحله دوازدهم: تنظیم دستگاه ذخیره‌سازی

در بخش Device نام FileStorage را پیدا کنید و مقدار Archive Device را مطابق با مسیر دایرکتوری بکاپ به‌روزرسانی کنید.

Device {
  Name = FileStorage
  Media Type = File
  Archive Device = /bacula/backup 
  LabelMedia = yes;                   # lets Bacula label unlabeled media
  Random Access = Yes;
  AutomaticMount = yes;               # when device opened, read it
  RemovableMedia = no;
  AlwaysOpen = no;
}

بعد از آن فایل را ذخیره کنید و از آن خارج شوید.

مرحله سیزدهم: بررسی صحت پیکربندی Storage Daemon

برای اینکه بتوانید بررسی کنید که فایل پیکربندی Storage Daemon درست است، از دستور زیر استفاده کنید.

sudo bacula-sd -tc /etc/bacula/bacula-sd.conf

در صورتی که پیامی مبنی بر خطا را دریافت نکردید، فایل bacula-sd.conf شما بدون هیچ گونه مشکل و خطایی است و می‌توانید به سراغ مرحله بعد بروید.

Repository در لینوکس یعنی چی؟ (آشنایی با مفهوم مخزن)
Repository در لینوکس

مرحله چهاردهم: راه‌اندازی مجدد Bacula Director و Storage Daemon

برای اینکه بتوانید تغییرات انجام شده در تنظیمات را اعمال کنید، باید سرویس های Bacula Director و Storage Daemon را با دستورات زیر ریستارت کنید.

sudo service bacula-director restart
sudo service bacula-sd restart

مرحله پانزدهم: اجرای اولین Job پشتیبان‌گیری در Bacula

برای اینکه مطمئن شوید که پیکربندی باکولا، اولین Job پشتیبان گیری را از طریق Bacula Console اجرا خواهیم کرد. اگر این عملیات بدون هیچ گونه خطایی انجام شود، به این معنی است که تنظیمات شما به درستی انجام و اعمال شده است.

برای اینکه بتوانید به کنسول Bacula، دستور زیر را اجرا کنید.

sudo bconsole

بعد از آن که این دستور را اجرا کردید، وارد محیط کنسول باکولا شوید. این محیط با علامت * مشخص شده است.

مرحله شانزدهم: ساخت یک Label جدید

برای این عمل، ابتدا یک دستور label اجرا کنید.

label

در این مرحله، از شما خواسته می‌شود که یک نام برای Volume جدید وارد کنید. برای اینکار می‌توانید از هر نام دلخواهی برای این عمل استفاده کنید.

Enter new Volume name:
MyVolume

بعد از انکه Pool شما برای ذخیره سازی در پشتیبان انتخاب شد. باید از Pool با نام File که در قبل آن را پیکربندی کردید استفاده کنید. در این قسمت باید عدد 2 را وارد کنید.

Select the Pool (1-3):
2

مرحله هفدهم: جرای دستی Job پشتیبان‌گیری

باکولا دیگر می‌داند که اطلاعات پشتیبان چگونه و با چه روشی باید ذخیره شود، در این قسمت می‌توانید Job را به صورت دستی انجام دهید.

run

در این مرحله از شما خواسته می‌شود که Job مورد نظر خود را انتخاب کنید. به این دلیل که قصد داریم Job را با نام BackupLocalFiles را اجرا خواهیم کرد، برای این کار عدد 1 را وارد کنید.

Select Job resource (1-3):
1

در مرحله تأیید اجرای Job، جزئیات را بررسی کنید و برای تأیید اجرای Job، عبارت yes را وارد کنید.

yes
چگونه Strapi را برای محیط تولید روی سرور مجازی اوبونتو 22.04 راه‌اندازی و نصب کنیم؟
Strapi برای محیط تولید روی سرور مجازی

مرحله هجدهم: بررسی پیام‌ها و وضعیت Job

بعد از انکه اجزای یک Job، Bacula پیام‌هایی را به شما نشان می‌دهد، که خروجی اجرای Job را نشان می‌دهد.

برای مشاهده پیام‌ها دستور زیر را وارد کنید.

messages

پیام هایی مانند، عبارت No prior Full backup Job record found و شروع شدن Job پشتیبان‌گیری را نمایش دهند. در صورتی که خطایی وجود داشته باشد، پیام‌های ارائه‌شده می‌توانند دلیل مشکل را مشخص کنند.

روش دیگری برای مشاهده وضعیت Job، بررسی وضعیت Director وجو دارد. برای این کار، در کنسول Bacula دستور زیر را وارد کنید.

status director

اگر تمامی المان ها به درستی کار کنند، باید وضعیت اجرای Job را مشاهده کنید. خروجی مشابه زیر خواهد بود.

Running Jobs:
Console connected at 09-Apr-15 12:16
 JobId Level   Name                       Status
======================================================================
     3 Full    BackupLocalFiles.2015-04-09_12.31.41_06 is running

بعد از پایان اجرای Job، وضعیت آن به بخش Terminated Jobs منتقل می‌شود و خروجی را به صورت زیر را نشان خواهد داد.

Terminated Jobs:
 JobId  Level    Files      Bytes   Status   Finished        Name
====================================================================
     3  Full    161,124    877.5 M  OK       09-Apr-15 12:34 BackupLocalFile

مرحله نونزدهم: بازیابی اطلاعات در Bacula

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

در زمانی که نسخه پشتیبان را فراهم کرده اید. باید مطمئن شوید که فرآیند بازیابی به درستی انجام شود. دستور restore به ما این امکان را می‌دهد که فایل‌های پشتیبان‌گیری شده را بر گردانیم.

اجرای Job بازیابی کامل

برای شروع، تمام فایل‌های آخرین نسخه پشتیبان را بر خواهیم گرداند.

restore all

در این قسمت یک منوی انتخابی را به شما نشان خواهد داد که گزینه های مختلفی را برای تعیین مجموعه بکاپ ها برای بازیابی را به شما نشان می‌دهد. از انجایی که تنها نسخه پشتیبان وجود دارد، باید گزینه Select the most recent backup را انتخاب کنید. برای این کار عدد 5 را وارد کنید.

Select item (1-13):
5

از آنجایی که تنها فقط یک کلاینت، یا همان سرور Bacula وجود دارد، به صورت خودکار انتخاب می‌شود. در مرحله بعد از شما پرسیده می‌شود که از کدام FileSet می‌خواهید استفاده کنید. گزینه Full Set را که معمولاً عدد 2 است انتخاب کنید.

Select FileSet resource (1-2):
2

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

از آنجا که در ابتدا مشخص کرده بودیم که می‌خواهیم restore all انجام دهیم، تمام فایل‌های بکاپ گرفته‌شده قبلاً علامت‌گذاری شده‌اند. فایل‌های علامت گذاری کرده‌ایم، این علامت گذاری با کاراکتر * مشخص می‌شوند.

در صورت نیاز به تغییر انتخاب، می‌توانید با دستورات ls و cd بین پوشه‌ها حرکت کرده، با دستور mark فایل‌ها را برای بازیابی علامت‌گذاری کنید و با دستور unmark علامت آن‌ها را بردارید. برای مشاهده لیست کامل دستورات، می‌توانید عبارت help را در کنسول تایپ کنید.

پس از اتمام انتخاب فایل‌های موردنظر برای بازیابی، دستور زیر را وارد کنید.

done

بعد از آن باید تایید کنید که Job ها را بازیابی کنید.

OK to run? (yes/mod/no):
yes

بررسی پیام‌ ها و وضعیت Job

مانند مراحل قبلی، باید بعد از اجرای Job بازیابی نیز باید پیام‌ها و وضعیت Director را بررسی کرد.

برای مشاهده پیام‌ها دستور زیر را وارد کنید.

messages

برای بررسی دقیق‌تر وضعیت Job بازیابی، می‌توانید وضعیت Director را مشاهده کنید.

status director

بعد از آنکه عملیات بازیابی شما به اتمام رسید، برای اینکه بتوانید از کنسول باکولا خارج شوید از دستور زیر استفاده کنید.

exit

تأیید صحت بازیابی فایل‌ های بکاپ گرفته شده

برای اینکه مطمئن شوید عملیات بازیابی فایل‌ها را به درستی انجام شده است، محتوای دایرکتوری /bacula/restore را بررسی کنید این مسیر در Job RestoreLocalFiles در پیکربندی Director تعریف شده است.

sudo ls -la /bacula/restore

باید نسخه های برگردانده شده فایل های موجود در فایل سیستم روت (root) را مشاهده کنید. البته به جز فایل ها و دایرکتوری هایی که در بخش Exclude از RestoreLocalFiles مشخص شده بودند.

حذف فایل‌ های بازیابی‌ شده

برای اینکه بتوانید فضای دیسک را کاهش دهید، ممکن است که نیاز داشته باشید تا این فایل های بازیابی شده را حذف کنید. برای این کار از دستور زیر استفاده کنید.

sudo -u root bash -c "rm -rf /bacula/restore/*"

توجه داشته باشید که اجرای این دستور باید با دسترسی root انجام شود، زیرا بسیاری از فایل‌های بازیابی‌شده متعلق به کاربر root هستند.

استفاده از Fast API با دیتابیس رابطه ای در سرور مجازی اوبونتو Ubuntu
Fast API با دیتابیس رابطه ای در سرور مجازی اوبونتو

سوالات متداول

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

چطور بفهمم که عملیات بازیابی فایل‌ها در Bacula موفق بوده است؟

با دستور messages وضعیت Job را بررسی کنید. اگر پیام «Restore OK» مشاهده شد، بازیابی موفقیت‌آمیز بوده است. همچنین می‌توانید با دستور sudo ls -la /bacula/restore فایل‌های بازگردانی‌شده را ببینید.

چطور فقط یک فایل خاص را در Bacula بازیابی کنم؟

بعد از دستور restore all، با cd به مسیر فایل بروید، فایل مورد نظر را با دستور mark انتخاب و با done بازیابی را شروع کنید.

اگر فایل‌های بازیابی‌شده در مسیر /bacula/restore نبودند چه کار کنم؟

پیام‌های messages را بررسی کنید. ممکن است مسیر مقصد اشتباه یا مجوز دسترسی کافی نباشد. وجود پوشه /bacula/restore را چک کنید.

آیا می‌توانم مسیر فایل‌های بازیابی‌شده را تغییر بدهم؟

بله. مسیر را در فایل پیکربندی Job «RestoreLocalFiles» تغییر دهید و سرویس Bacula را ری‌استارت کنید.

چطور فایل‌های بازیابی‌شده را برای آزادسازی فضا پاک کنم؟

برای حذف فایل‌های بازگردانی شده این دستور را بزنید:

sudo -u root bash -c "rm -rf /bacula/restore/*"

دستور باید با دسترسی root اجرا شود.

جمع بندی

در این مقاله از لیارا نحوه پیکربندی کامل Bacula روی اوبونتو 24.04 برای انجام عملیات بکاپ‌گیری و بازیابی را مرحله به مرحله آموزش داده‌ایم. ابتدا سرویس‌های Director و Storage Daemon تنظیم شدند، سپس یک Job بکاپ آزمایشی اجرا و صحت عملکرد آن بررسی شد. این فرآیند تضمین می‌کند که در مواقع ضروری بتوان به سرعت داده‌های مهم را بازگرداند.

آموزش نحوه راه‌اندازی کلاستر K3s Kubernetes در اوبونتو 22.04
راه‌اندازی کلاستر K3s Kubernetes در اوبونتو

به اشتراک بگذارید