دادهها یکی از ارزشمندترین داراییهای ما هستند. از دست رفتن دادهها به دلیل خرابی سختافزاری، حملات سایبری، اشتباهات انسانی یا بلایای طبیعی میتواند عواقب جبرانناپذیری داشته باشد. در سیستمعامل لینوکس، که به دلیل پایداری و انعطافپذیریاش محبوب است، ابزارهای متنوعی برای پشتیبانگیری و بازیابی دادهها وجود دارد. این مقاله به صورت جامع به آموزش پشتیبانگیری و بازیابی با استفاده از چهار ابزار محبوب میپردازد:
tar،
dump،
Bacula و
Borg. هر بخش شامل توضیح ابزار، نحوه نصب، مثالهای عملی برای پشتیبانگیری و بازیابی، مزایا و معایب، و نکات مهم خواهد بود.
این ابزارها برای سناریوهای مختلف مناسب هستند: tar برای آرشیو ساده فایلها، dump برای پشتیبانگیری از فایلسیستمهای خاص، Bacula برای پشتیبانگیری شبکهای پیشرفته، و Borg برای پشتیبانگیری کارآمد با قابلیت deduplication. قبل از شروع، مطمئن شوید که دسترسی root یا sudo دارید و از دادههای خود پشتیبان بگیرید تا در حین آزمایش مشکلی پیش نیاید.
1. پشتیبانگیری و بازیابی با tar
tar (Tape ARchiver) یکی از قدیمیترین و سادهترین ابزارهای لینوکس برای ایجاد آرشیو فایلها است. این ابزار فایلها را در یک فایل واحد فشرده میکند و برای پشتیبانگیری محلی یا انتقال دادهها مفید است. tar از فشردهسازی با gzip یا bzip2 پشتیبانی میکند.
نصب
در بیشتر توزیعهای لینوکس مانند Ubuntu یا CentOS، tar به صورت پیشفرض نصب است. اگر نیست، با دستور زیر نصب کنید:
sudo apt install tar # برای Debian/Ubuntu
sudo yum install tar # برای CentOS/RHEL
پشتیبانگیری (Backup)
برای پشتیبانگیری از یک دایرکتوری، از دستور زیر استفاده کنید. گزینههای رایج:
- c: ایجاد آرشیو جدید
- v: نمایش جزئیات (verbose)
- f: مشخص کردن نام فایل
- z: فشردهسازی با gzip
مثال: پشتیبانگیری از دایرکتوری /home/user به فایل backup.tar.gz:
tar -czvf backup.tar.gz /home/user
این دستور تمام فایلهای داخل /home/user را آرشیو و فشرده میکند.
برای پشتیبانگیری incremental، از گزینه –listed-incremental استفاده کنید:
tar -czvf full_backup.tar.gz --listed-incremental=/path/to/snar.file /path/to/dir
برای پشتیبانگیری بعدی:
tar -czvf incr_backup.tar.gz --listed-incremental=/path/to/snar.file /path/to/dir
فایل .snar تغییرات را ردیابی میکند.
بازیابی (Restore)
برای استخراج آرشیو:
tar -xzvf backup.tar.gz -C /path/to/restore
گزینه -C مسیر استخراج را مشخص میکند. اگر بخواهید فقط یک فایل استخراج کنید:
tar -xzvf backup.tar.gz path/to/specific/file
مزایا و معایب
- مزایا: ساده، سریع، بدون نیاز به نصب اضافی، پشتیبانی از فشردهسازی.
- معایب: فاقد deduplication، مناسب برای پشتیبانگیری کوچک، نه برای سیستمهای بزرگ یا شبکهای.
نکات مهم
- برای پشتیبانگیری خودکار، از cron استفاده کنید: crontab -e و اضافه کردن 0 0 * * * tar -czvf /backup/dir/backup-$(date +%Y%m%d).tar.gz /home/user.
- از گزینه –exclude برای حذف فایلهای خاص استفاده کنید، مانند –exclude=/home/user/tmp.
2. پشتیبانگیری و بازیابی با dump
dump ابزاری برای پشتیبانگیری از فایلسیستمهای ext2/3/4 است. این ابزار سطوح پشتیبانگیری (full و incremental) را پشتیبانی میکند و برای پشتیبانگیری از پارتیشنهای کامل مناسب است.
نصب
در Ubuntu:
در CentOS:
پشتیبانگیری (Backup)
dump سطوح 0 تا 9 را دارد (0 برای full backup). مثال: پشتیبانگیری کامل از پارتیشن /dev/sda1 به فایل backup.dump:
sudo dump -0uaf backup.dump /dev/sda1
- 0: سطح full
- u: بهروزرسانی فایل /etc/dumpdates
- a: آرشیو خودکار
- f: مشخص کردن فایل خروجی
برای پشتیبانگیری افزایشی (سطح 1):
sudo dump -1uaf incr_backup.dump /dev/sda1
این فقط تغییرات پس از آخرین full backup را پشتیبان میگیرد.
بازیابی (Restore)
از ابزار
restore استفاده کنید. ابتدا به حالت interactive بروید:
sudo restore -if backup.dump
در prompt restore >:
- ls: لیست فایلها
- cd: تغییر دایرکتوری
- add file: اضافه کردن فایل برای استخراج
- extract: استخراج
برای بازیابی کامل:
sudo restore -rf backup.dump
ابتدا پارتیشن را mount کنید و به دایرکتوری خالی بروید.
مزایا و معایب
- مزایا: پشتیبانگیری سطحی، مناسب برای فایلسیستمهای ext، حفظ مجوزها.
- معایب: محدود به ext، کند برای فایلسیستمهای بزرگ، نیاز به unmount کردن پارتیشن برای پشتیبانگیری کامل.
نکات مهم
- همیشه پارتیشن را unmount کنید برای پشتیبانگیری ایمن: umount /dev/sda1.
- برای بازیابی، از یک live CD استفاده کنید اگر سیستم بوت نشود.
3. پشتیبانگیری و بازیابی با Bacula
Bacula یک سیستم پشتیبانگیری شبکهای پیشرفته است که برای محیطهای بزرگ طراحی شده. شامل اجزایی مانند Director، Storage Daemon، File Daemon و Console است. از پشتیبانگیری full، differential و incremental پشتیبانی میکند.
نصب
در Ubuntu:
sudo apt install bacula-director bacula-sd bacula-fd bacula-console
در CentOS:
sudo yum install bacula-director bacula-storage bacula-client bacula-console
پس از نصب، فایلهای پیکربندی در /etc/bacula هستند. Director را پیکربندی کنید (bacula-dir.conf) با نامها، رمزها و jobها.
پشتیبانگیری (Backup)
پیکربندی یک job ساده در bacula-dir.conf:
Job {
Name = “BackupHome”
Type = Backup
Level = Full
FileSet = “HomeSet”
Schedule = “WeeklyCycle”
Storage = File
Pool = Default
Client = yourclient-fd
}
سپس daemonها را راهاندازی کنید:
sudo systemctl start bacula-dir bacula-sd bacula-fd
برای اجرا: از bconsole استفاده کنید:
انتخاب job و اجرا.
بازیابی (Restore)
در bconsole:
انتخاب client، job، فایلها و مسیر بازیابی. Bacula فایلها را به مسیر مشخص استخراج میکند.
مزایا و معایب
- مزایا: شبکهای، پشتیبانی از tape و disk، رمزنگاری.
- معایب: پیچیده برای نصب، نیاز به دانش پیکربندی، منابع بیشتر مصرف میکند.
نکات مهم
- از Baculum (رابط وب) برای مدیریت آسان استفاده کنید.
- همیشه رمزها را امن نگه دارید و firewall را پیکربندی کنید.
4. پشتیبانگیری و بازیابی با Borg
Borg (یا BorgBackup) ابزاری مدرن برای پشتیبانگیری deduplicating است که فضا را بهینه میکند، رمزنگاری دارد و برای پشتیبانگیری محلی یا remote مناسب است.
نصب
در Ubuntu:
sudo apt install borgbackup
در CentOS:
sudo yum install borgbackup
پشتیبانگیری (Backup)
ابتدا repository ایجاد کنید:
borg init --encryption=repokey /path/to/repo
سپس پشتیبانگیری:
borg create /path/to/repo::backup-name /path/to/dir
برای پشتیبانگیری افزایشی، Borg به طور خودکار deduplicate میکند. مثال با compression:
borg create –compression lz4 /path/to/repo::$(date +%Y-%m-%d) /home/user
بازیابی (Restore)
لیست پشتیبانها:
استخراج:
borg extract /path/to/repo::backup-name /path/to/restore/file
یا mount برای مرور:
borg mount /path/to/repo::backup-name /mnt>
مزایا و معایب
- مزایا: deduplication، رمزنگاری، سریع، پشتیبانی از remote (SSH).
- معایب: نیاز به یادگیری دستورات، نه برای tape.
نکات مهم
- برای remote: borg create user@host:/path/to/repo::name /dir.
- از prune برای حذف پشتیبانهای قدیمی استفاده کنید: borg prune –keep-daily=7 /repo.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.