نصب سرور باکولا (Bacula) روی اوبونتو ۱۴.۰۴ — از صفر تا صد

۱۰۵ بازدید
آخرین به‌روزرسانی: ۲۲ شهریور ۱۴۰۲
زمان مطالعه: ۱۲ دقیقه
نصب سرور باکولا (Bacula) روی اوبونتو ۱۴.۰۴ — از صفر تا صد

باکولا یک شبکه متن-باز از راه‌حل‌های پشتیبانی‌ است که امکان ایجاد فایل‌های پشتیبان و اجرای عملیات‌های بازیابی داده روی سیستم‌های رایانه‌ای را فراهم ساخته است. این سیستم کاملاً انعطاف‌پذیر و پایدار است. با این که پیکربندی آن شاید کمی دشوار باشد؛ اما برای تنظیم پشتیبانی در بیشتر موقعیت‌ها گزینه‌ای مناسب به حساب می‌آید. سیستم پشتیبان‌گیری در اغلب زیرساخت‌های سرور جزئی مهم محسوب می‌شود، چون بازگرداندن داده‌های از دست رفته در اغلب موارد بخشی حیاتی از طرح‌های بازیابی در هنگام بروز فجایع مختلف است.

در این راهنما شیوه نصب و پیکربندی اجزای سرور باکولا را روی سرور اوبونتو 14.04 به شما آموزش خواهیم داد. در این آموزش باکولا را برای اجرای یک وظیفه پشتیبان‌گیری هفتگی پیکربندی می‌کنیم که فایل‌های پشتیبان را به صورت محلی تهیه می‌کند. منظور از پشتیبان‌های محلی، ذخیره فایل‌ها روی خود رایانه میزبان است. البته این روش استفاده از باکولا چندان روش متداولی نیست؛ اما یک نقطه شروع مناسب برای ایجاد فایل‌های پشتیبان از سرورهای دیگر یعنی کلاینت‌ها به حساب می‌آید. در بخش‌های دیگر از این سری راهنما به بررسی شیوه تهیه فایل‌های پشتیبان از سرورهای دیگر ریموت با نصب و پیکربندی Bacula client و پیکربندی bacula server می‌پردازیم.

پیش‌نیازها

شما می‌بایست یک سرور اوبونتو 14.04 با دسترسی sudo داشته باشید. همچنین سرور باید فضای دیسک کافی برای همه پشتیبان‌هایی که قصد دارید همزمان نگه‌داری کنید داشته باشد.

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

مروری بر اجزای Bacula

با این که باکولا از چندین جزء نرم‌افزاری تشکیل یافته است؛ اما از روش پشتیبان‌گیری سرور-کلاینت بهره می‌گیرد. ما در این راهنما برای ساده‌تر شدن موضوع به جای این که به اجزای مختلف باکولا بپردازیم، روی backup server و backup clients تمرکز می‌کنیم. با این حال داشتن اطلاعاتی کلی از اجزای باکولا همچنان حائز اهمیت است و از این رو در ادامه نگاهی به مهم‌ترین اجزای باکولا خواهیم داشت:

یک سرور باکولا که در این راهنما به صورت سرور پشتیبان یا سرور پشتیبان‌گیری نیز نامیده می‌شود اجزای زیر را دارد:

  • (Bacula Director (DIR - نرم‌افزاری که عملیات‌های پشتیبان‌گیری و بازیابی انجام یافته از سوی Daemon های فایل و ذخیره‌سازی را کنترل می‌کند.
  • (Storage Daemon (SD - نرم‌افزاری است که کار خواندن و نوشتن را روی دستگاه‌های ذخیره‌سازی مورد استفاده برای پشتیبان‌ها انجام می‌دهد.
  • Catalog – سرویس‌هایی هستند که در یک پایگاه داده از فایل‌هایی که پشتیبان‌گیری شده‌اند نگهداری می‌کنند. این پایگاه داده به صورت یک پایگاه داده SQL مثلاً MySQL یا PostgreSQL نگهداری می‌شود.
  • Bacula Console – یک رابط خط فرمان است که به مدیر پشتیبان امکان تعامل با باکولا و کنترل Bacula Director را می‌دهد.

توجه کنید که لازم نیست اجزای سرور باکولا همگی روی یک سرور باشند؛ اما می‌بایست با همدیگر همکاری کنند تا کارکرد سرور پشتیبان را ارائه دهند.

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

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

نصب MySQL

باکولا از یک پایگاه داده SQL مانند MySQL یا PostgreSQL برای مدیریت کاتالوگ پشتیبان‌ها استفاده می‌کند. ما در این راهنما از MySQL استفاده می‌کنیم. ابتدا apt-get را به‌روزرسانی می‌کنیم:

sudo apt-get update

سپس سرور MySQL را با apt-get نصب می‌کنیم:

sudo apt-get install mysql-server

از شما خواسته خواهد شد که رمز عبور کاربر مدیر پایگاه داده MySQL به نام root را وارد کنید. یک رمز عبور وارد کرده و آن را تأیید کنید. این رمز عبور را به خاطر بسپارید، زیرا در ادامه فرایند نصب باکولا لازم خواهد بود.

نصب باکولا

سرور باکولا و اجزای کلاینت را با استفاده از apt-get نصب کنید:

sudo apt-get install bacula-server bacula-client

از شما خواسته می‌شود که برخی اطلاعات مورد نیاز برای پیکربندی Postfix که باکولا استفاده می‌کند را وارد نمایید:

  • نوع عمومی پیکربندی ایمیل: گزینه «Internet Site» را انتخاب کنید.
  • نام ایمیل سیستم: FQDN یا نام میزبانی سرور خود را وارد کنید.

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

  • Configure database for bacula-director-mysql with dbconfig-common؟ گزینه «Yes» را انتخاب کنید.
  • Password of the database's administrative user: رمز عبور root را برای MySQL وارد کنید (در زمان نصب MySQL تعیین کردید.)
  • MySQL application password for bacula-director-mysql: یک رمز عبور جدید وارد کرده و آن را تأیید کنید یا این که آن را خالی بگذارید تا یک رمز عبور تصادفی ایجاد شود.

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

sudo chmod 755 /etc/bacula/scripts/delete_catalog_backup

اجزای سرور باکولا (و کلاینت) اینک نصب شده‌اند. در ادامه دایرکتوری‌های پشتیبان و بازیابی را ایجاد می‌کنیم.

ایجاد دایرکتوری‌های پشتیبان و بازیابی

باکولا به یک دایرکتوری backup برای ذخیره‌سازی فایل‌های آرشیو پشتیبان و دایرکتوری restore برای ذخیره‌سازی فایل‌های بازیابی شده نیاز دارد. اگر سیستم شما چند پارتیشن داشته باشد، اطمینان حاصل کنید که دایرکتوری‌ها در پارتیشن‌هایی ایجاد شده باشند که فضای کافی دارند. در ادامه دایرکتوری‌های جدیدی برای هر دو این موارد ایجاد می‌کنیم:

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

ما می‌بایست مجوزهای فایل را چنان تغییر دهیم که تنها پروسه باکولا (و یک سوپریوزر) بتواند به این فایل‌ها دسترسی داشته باشد:

sudo chown -R bacula:bacula /bacula

sudo chmod -R 700 /bacula

اینک آماده هستیم که Bacula Director را پیکربندی کنیم. باکولا چند جزء دارد که باید به طور مستقل از هم پیکربندی شوند تا عملکرد صحیحی داشته باشند. فایل‌های پیکربندی را می‌توانید در دایرکتوری etc/bacula/ بیابید.

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

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

پیکربندی job های محلی

یک job باکولا برای اجرای اقدامات پشتیبان‌گیری و بازیابی استفاده می‌شود. منابع job جزییاتی که یک job خاص انجام می‌دهد را تعیین می‌کنند که شامل نام کلاینت، FileSet برای پشتیبان‌گیری یا بازیابی و کارهایی از این دست است. در ادامه job-هایی را پیکربندی می‌کنیم که برای اجرای پشتیبان‌گیری filesystem محلی استفاده می‌شوند. در پیکربندی Director منبع job ی با نام «BackupClient1» را بیابید. مقدار Name را به «BackupLocalFiles» تغییر دهید تا به صورت زیر درآید:

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

سپس منبع jobی را که «RestoreFiles» نام دارد بیابید. در این job باید دو چیز را تغییر دهید: مقدار Name را به «RestoreLocalFile» تغییر دهید و مقدار Where را به «bacula/restore/» عوض کنید. در این صورت به شکل زیر درمی‌آید:

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

بدین ترتیب job با نام RestoreLocalFile پیکربندی می‌شود تا فایل‌ها به دایرکتوری bacula/restore/ که قبلاً ایجاد کردیم، بازیابی شوند.

پیکربندی File Set

FileSet باکولا مجموعه‌ای از فایل‌ها یا دایرکتوری‌ها برای اجرای فایل‌ها از گزیده‌ای از پشتیبان‌ها تعریف می‌کند و از سوی job ها استفاده می‌شوند.

منبع FileSet با نام «Full Set» را پیدا کنید. در این بخش سه تغییر ایجاد می‌کنیم:

  • گزینه استفاده از gzip برای فشرده‌سازی پشتیبان‌ها
  • تغییر فایل include از usr/sbin/ به / و
  • تغییر فایل اجرایی دوم به 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
  }
}

این تغییراتی است که باید در FileSet به نام «Full Set» ایجاد می‌کردیم. ابتدا فشرده‌سازی gzip را هنگام ایجاد فایل‌های پشتیبان فعال کردیم. دوم مسیر / را include می‌کنیم یعنی پارتیشن ریشه‌ای که باید پشتیبان‌گیری شود. سوم، bacula/ را اجرا می‌کنیم زیرا نمی‌خواهیم از پشتیبان‌های باکولای خود به صورت تکراری فایل‌های پشتیبان یا بازیابی ایجاد کنیم.

توجه کنید که اگر پارتیشن‌هایی که نصب شده‌اند درون / باشند و بخواهید آن‌ها را در FileSet بگنجانید باید رکوردهای فایل اضافی برای هر کدام از آن‌ها اضافه کنید.

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

پیکربندی اتصال Daemon Storage

در فایل پیکربندی باکولا دایرکتور، منبع Storage برای تعریف Daemon Storage استفاده می‌شود که دایرکتور باید به آن وصل شود. ما Daemon Storage واقعی را کمی بعدتر پیکربندی می‌کنیم. منبع 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 مجموع ذخیره‌سازی مورد استفاده باکولا برای نوشتن فایل‌های پشتیبان را تعریف می‌کند. ما از این فایل‌ها به عنوان درایوهای ذخیره‌سازی خود استفاده می‌کنیم، بدین ترتیب کافی است برچسب آن‌ها را به‌روزرسانی کنیم تا فایل‌های پشتیبان محلی دارای برچسب صحیح باشند.

منبع Pool دارای نام «File» را یافته و خطی زیر آن اضافه کنید که یک قالب برای برچسب (label) را تعیین می‌کند. در نهایت فایل باید به صورت زیر باشد:

# 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 وجود نداشته باشد:

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

اگر هیچ پیام خطایی در bacula-dir.conf وجود نداشته باشد، مشخص می‌شود که هیچ خطای ساختاری ندارد. در ادامه Storage Daemon را پیکربندی خواهیم کرد

پیکربندی Storage Daemon

سرور باکولای ما تقریباً آماده است؛ اما باید Storage Daemon را نیز پیکربندی کنیم تا باکولا بداند کجا باید فایل‌های پشتیبان را ذخیره سازد. فایل پیکربندی Storage Daemon را در ویرایشگر متنی باز کنید:

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

پیکربندی منبع Storage

منبع Storage را پیدا کنید. این منبع تعریف می‌کند که پروسه Storage باید به کدام اتصال‌ها گوش دهد. پارامتر 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
}

پیکربندی دستگاه Storage

سپس منبع دستگاهی که «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 نیز هیچ خطای ساختاری ندارد. بدین ترتیب پیکربندی باکولا به پایان می‌رسد. اینک آماده هستیم که اجزای سرور باکولا را ری‌استارت کنیم.

ری‌استارت Bacula Director و Storage Daemon

برای این که تغییرات پیکربندی که انجام یافتند اعمال شوند باید Bacula Director و Storage Daemon با دستورهای زیر ری‌استارت شوند:

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

اکنون که سرورهای ری‌استارت شدند، می‌توانیم با اجرای یک job پشتیبان‌گیری آن‌ها را تست کنیم.

تست job پشتیبان‌گیری

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

sudo bconsole

با این کار به اعلان کنسول باکولا می‌روید که با اعلان (*) مشخص شده است.

ایجاد یک برچسب

کار خود را با صادر کردن یک دستور label آغاز می‌کنیم:

Label

از شما خواسته می‌شود که نام درایو را وارد کنید. هر نامی که دوست دارید وارد نمایید:

Enter new Volume name:
MyVolume

سپس آن pool که از سوی پشتیبان باید استفاده شود را تعیین کنید. ما با وارد کردن عدد 2، از pool به نام «File» که قبلاً پیکربندی کرده‌ایم استفاده می‌کنیم:

Select the Pool (1-3):

2

اجرای دستی job پشتیبان

باکولا اینک می‌داند که ما می‌خواهیم پشتیبان خود را چگونه بنویسیم. بنابراین اکنون می‌توانیم پشتیبان خود را اجرا کنیم تا درستی آن را بررسی نماییم:

Run

از شما خواسته می‌شود که انتخاب کنید کدام job اجرا شود. ما می‌خواهیم job دارای نام «BackupLocalFiles» اجرا شود و از این رو مقدار 1 را وارد می‌کنیم:

Select Job resource (1-3):
1

در اعلان تأیید «Run Backup job»، جزییات را بررسی کنید و سپس با وارد کردن گزینه «yes» اجازه اجرا شدن job را بدهید:

Yes

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

پس از اجرای یک job، باکولا به شما می‌گوید که پیام‌هایی دارید. این پیام‌ها از سوی job های در حال اجرا تولید می‌شوند. با وارد کردن دستور زیر می‌توانید پیام‌ها را بررسی کنید:

Messages

این پیام باید به صورت زیر باشد: «No prior Full backup Job record found» و این که job مورد نظر آغاز شده است. اگر هر گونه خطایی وجود داشته باشد یا چیزی نادرست باشد، در این پیام سرنخی ارائه می‌شود که چرا job اجرا نشده است.

روش دیگر برای مشاهده وضعیت job این است که وضعیت Director را بررسی کنید. بدین منظور باید دستور زیر را در اعلان کنسول وارد کنید:

status director

اگر همه چیز به درستی کار کند، در این بخش می‌بینید که job در حال اجرا است و خروجی چیزی شبیه زیر خواهد بود:

Output — status director (Running Jobs)
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» گزارش وضعیت منتقل می‌شود و بخش فوق مانند زیر خواهد بود:

Output — status director (Terminated Jobs)
Terminated Jobs:
 JobId  Level    Files      Bytes   Status   Finished        Name
====================================================================
     3  Full    161,124    877.5 M  OK       09-Apr-15 12:34 BackupLocalFiles

وضعیت «OK» نشان می‌دهد که job پشتیبانی بدون هیچ گونه اشکالی اجرا می‌شود. اینک شما موفق شده‌اید از مجموعه فایل «Full Set» سرور باکولا پشتیبان‌گیری نمایید. مرحله بعدی، تست job بازیابی است.

تست job بازیابی

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

اجرای job برای بازیابی همه فایل‌ها (Restor All)

برای این که روش کار را نشان دهیم همه فایل‌هایی که در آخرین بار پشتیبان گرفته‌ایم، بازیابی می‌کنیم:

restore all

در ادامه یک منوی انتخاب با گزینه‌های بسیار ظاهر می‌شود که برای شناسایی این که کدام مجموعه پشتیبان باید بازیابی شود استفاده می‌شود. از آنجا که ما تنها یک پشتیبان داریم گزینه «Select the most recent backup» را انتخاب می‌کنیم که عدد 5 است:

Select item (1-13):
5

از آنجایی که تنها یک کلاینت وجود دارد که همان سرور باکولا است، بنابراین به طور خودکار انتخاب می‌شود. در اعلان بعدی از شما خواسته می‌شود تعین کنید کدام مجموعه فایل (FileSet) باید استفاده شود. گزینه «Full Set» را انتخاب کنید که عدد 2 است:

Select FileSet resource (1-2):
2

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

از آنجا که تعیین کرده‌ایم می‌خواهیم «restore all» شود، همه فایل‌های پشتیبان‌گیری شده برای بازیابی انتخاب شده‌اند. فایل‌های انتخاب شده با یک کاراکتر (*) نمایش می‌یابند.

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

Done

تأیید کنید که می‌خواهید job بازیابی اجرا شود:

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

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

همانند job پشتیبان‌گیری در این مورد نیز می‌توان پیام‌ها و وضعیت Director را پس از اجرای job بازیابی مشاهده کرد. با وارد دستور زیر می‌توانید پیام‌ها را ببینید:

messages

در این مرحله باید پیامی وجود داشته باشد که اعلام می‌کند job بازیابی آغاز شده است یا پیامی باشد که نشان دهند این job با وضعیت «Restore OK» خاتمه یافته است. اگر هر گونه خطایی وجود داشته باشد به شما سرنخی ارائه می‌شود که چرا job اجرا نشده است. در این مورد نیز بررسی وضعیت Director روشی عالی برای مشاهده وضعیت job بازیابی شده است:

status director

زمانی که کار بازیابی پایان یافت دستور exit را وارد کنید تا از کنسول باکولا خارج شوید:

exit

تأیید بازیابی

برای تأیید این که job بازیابی در عمل فایل‌های منتخب را بازیابی کرده است، می‌توانید نگاهی به دایرکتوری /bacula/restore داشته باشید که در job «RestoreLocalFiles» در پیکربندی Director تعیین کردیم:

sudo ls -la /bacula/restore

در این دایرکتوری باید کپی‌هایی از فایل‌ها در سیستم فایل ریشه ببینید. فایل‌ها و دایرکتوری‌هایی که در بخش «Exclude» job «RestoreLocalFiles» لیست شده‌اند، از این فهرست استثنا هستند. اگر بخواهید داده‌هایی که از دست رفته‌اند را بازیابی کنید، می‌توانید فایل‌های بازیابی شده را به موقعیت‌های مناسبشان کپی کنید.

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

ممکن است بخواهید فایل‌های بازیابی شده را حذف کنید تا فضای دیسک آزاد شود. بدین منظور باید دستور زیر را وارد کنید:

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

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

سخن پایانی

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

اگر این نوشته مورد توجه شما قرار گرفته است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

==

بر اساس رای ۰ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
digitalocean
نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *