</>

لینوکس‌پارسی

مرجع فارسی آموزش لینوکس

Gentoo • Arch • Debian • Ubuntu • Kali • Parrot
پرش به محتوای اصلی

Command Palette

Search for a command to run...

بک‌آپ در Gentoo — rsync، Borg و قانون ۳-۲-۱

آموزش کامل بک‌آپ‌گیری در Gentoo: استراتژی rsync، BorgBackup با رمزنگاری و کاهش حجم، Timeshift، مقایسهٔ ابزارها، قانون ۳-۲-۱ و بازیابی سیستم با chroot.

متوسط۸ دقیقه مطالعهآخرین بروزرسانی: ۱ تیر ۱۴۰۵ویرایش در گیت‌هاب

بک‌آپ تنها دفاع واقعی در برابر از دست‌رفتن داده است. در Gentoo که هر بسته کامپایل می‌شود و پیکربندی سیستم غنی است، بک‌آپ منظم از /etc، /home و /var/lib/portage بسیار مهم است. این مستند چهار روش بک‌آپ (rsync، Borg، Timeshift و tar) را معرفی می‌کند و قانون طلایی ۳-۲-۱ را توضیح می‌دهد.

قانون ۳-۲-۱#

قانون ۳-۲-۱ یک اصل ساده برای بک‌آپ امن است:

عددمعنی
۳سه نسخه از داده (یک نسخه اصلی + دو بک‌آپ)
۲روی دو نوع رسانه متفاوت (مثلاً هارد محلی + ابری)
۱یک نسخه خارج از سایت (offsite)

به عبارت دیگر: یک نسخه روی سیستم، یک نسخه روی هارد اکسترنال، و یک نسخه در فضای ابری یا سرور دور.

بک‌آپ تست‌نشده، بک‌آپ نیست

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

rsync — بک‌آپ ساده و سریع#

rsync ابزار کلاسیک بک‌آپ است؛ فقط بخش‌های تغییر کرده را منتقل می‌کند و با حفظ مجوزها و لینک‌های نمادین کار می‌کند:

# بک‌آپ کل سیستم به‌جز دایرکتوری‌های مجازی
rsync -aAXv \
  --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found} \
  / /backup/gentoo-root/
 
# خروجی:
# sending incremental file list
# ./
# bin/
# boot/
# etc/
# etc/portage/make.conf
# ...
# sent 12.345.678 bytes  received 45.678 bytes  1.234.567 bytes/sec
# total size is 23.456.789  speedup is 1.90

توضیح پرچم‌ها:

پرچمکاربرد
-aحالت archive (حفظ مجوز، زمان، لینک)
-Aحفظ ACL‌ها
-Xحفظ extended attributes
-vخروجی verbose
--deleteحذف فایل‌های مقصد که در مبدا حذف شده‌اند
--excludeعدم انتقال مسیرهای مشخص
--link-dest=DIRبک‌آپ افزایشی با hard link

برای داشتن چندین snapshot با اشتراک فضا:

#!/bin/bash
# /usr/local/bin/backup-rsync.sh
DATE=$(date +%Y-%m-%d)
PREV=$(date -d "yesterday" +%Y-%m-%d)
SRC=/
DST=/backup/
 
rsync -aAXv --delete \
  --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found,/backup/*} \
  --link-dest=$DST$PREV \
  $SRC $DST$DATE
 
# حذف بک‌آپ‌های قدیمی‌تر از ۳۰ روز
find $DST -maxdepth 1 -type d -mtime +30 -exec rm -rf {} +

rsync روی شبکه

برای بک‌آپ روی سرور دور، rsync از SSH استفاده می‌کند:

rsync -aAXv --delete /home/ali/ user@backup-server:/backup/ali/

این روش سریع و امن است، اما به‌ازای هر فایل، checksum بررسی می‌شود؛ برای فایل‌های بسیار زیاد، --checksum را اضافه نکنید چون کند می‌شود.

BorgBackup — بک‌آپ رمزنگاری‌شده و کاهشی#

Borg بهترین ابزار بک‌آپ برای Gentoo است؛ رمزنگاری end-to-end، deduplication (حذف تکرار) و فشرده‌سازی را هم‌زمان دارد:

# نصب
emerge --ask app-backup/borgbackup
# [ebuild  N    ] app-backup/borgbackup-1.4.0
 
# ساخت مخزن (یک‌بار)
borg init --encryption=repokey /backup/borg-repo
# Enter new passphrase:
# Enter same passphrase again:
# Do you want your passphrase to be displayed for verification? [yN]: y
# Your passphrase (with unicode normalization): ...
 
# بک‌آپ اول
borg create --stats --progress \
  /backup/borg-repo::gentoo-{hostname}-{now:%Y-%m-%d} \
  /etc /home /var/lib/portage /root
 
# خروجی:
# Creating archive at "/backup/borg-repo::gentoo-host-2026-06-22"
# Archive name: gentoo-host-2026-06-22
# Archive fingerprint: a1b2c3d4...
# Time (start): Tue, 2026-06-22 10:23:45
# Time (end):   Tue, 2026-06-22 10:24:12
# Number of files: 24567
# Utilization of max. archive size: 0%
# Original size: 12.3 GB
# Deduplicated size: 1.2 GB  (کاهش ۹۰ درصدی)
# Compressed size: 845 MB
# Unique chunks: 12345
# Average compression ratio: 1.4

نگهداری و هرس (prune)#

Borg به‌طور خودکار بک‌آپ قدیمی را حذف نمی‌کند؛ با prune سیاست نگهداری تعریف کنید:

# نگه‌داشتن: ۷ بک‌آپ روزانه، ۴ هفتگی، ۱۲ ماهانه
borg prune --keep-daily=7 --keep-weekly=4 --keep-monthly=12 \
  /backup/borg-repo
 
# خروجی:
# Keeping archive: gentoo-host-2026-06-22
# Keeping archive: gentoo-host-2026-06-21
# ...
# Pruning archive: gentoo-host-2026-06-01

بازیابی از Borg#

# لیست بک‌آپ‌ها
borg list /backup/borg-repo
# gentoo-host-2026-06-22    Tue, 2026-06-22 10:23:45
# gentoo-host-2026-06-21    Mon, 2026-06-21 10:23:45
 
# بررسی محتوای یک بک‌آپ
borg list /backup/borg-repo::gentoo-host-2026-06-22
 
# بازیابی کامل به دایرکتوری
borg extract /backup/borg-repo::gentoo-host-2026-06-22
 
# بازیابی یک فایل خاص (mount)
mkdir /tmp/borg-mount
borg mount /backup/borg-repo /tmp/borg-mount
# حالا می‌توانید در /tmp/borg-mount مرور و فایل را کپی کنید
fusermount -u /tmp/borg-mount   # قطع

Timeshift — بک‌آپ سیستم با رابط گرافیکی#

Timeshift (مشابه System Restore ویندوز) برای دسکتاپ مناسب است؛ بک‌آپ افزایشی با rsync و رابط گرافیکی ساده:

# نصب (در overlay layman یا github موجود است)
emerge --ask app-backup/timeshift
 
# اجرا (با sudo)
sudo timeshift-gtk

Timeshift snapshotهای منظم (ساعتی، روزانه، هفتگی) می‌گیرد و امکان بازیابی از محیط live را دارد.

بازیابی کامل سیستم با chroot#

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

# ۱. از محیط Live USB بوت کنید
# ۲. مونت کردن پارتیشن‌ها
mount /dev/sda3 /mnt/gentoo
mount /dev/sda1 /mnt/gentoo/boot
# در صورت UEFI:
mount /dev/sda2 /mnt/gentoo/boot/efi
 
# ۳. بازیابی بک‌آپ
rsync -aAXv --delete /backup/gentoo-root/ /mnt/gentoo/
 
# ۴. مونت کردن سیستم‌فایل‌های مجازی
mount --types proc /proc /mnt/gentoo/proc
mount --rbind /sys /mnt/gentoo/sys
mount --make-rslave /mnt/gentoo/sys
mount --rbind /dev /mnt/gentoo/dev
mount --make-rslave /mnt/gentoo/dev
 
# ۵. ورود به chroot
chroot /mnt/gentoo /bin/bash
source /etc/profile
export PS1="(chroot) ${PS1}"
 
# ۶. نصب مجدد GRUB و rebuild initramfs
grub-install /dev/sda   # یا grub-install --target=x86_64-efi --efi-directory=/boot/efi
grub-mkconfig -o /boot/grub/grub.cfg
emerge @module-rebuild
 
# ۷. خروج و ریبوت
exit
reboot

بک‌آپ از بوت‌لودر

علاوه بر فایل‌ها، بک‌آپ از پارتیشن‌های EFI و MBR را فراموش نکنید. برای MBR می‌توانید با dd if=/dev/sda of=backup.mbr bs=512 count=1 بوت‌سکتور را ذخیره کنید. برای UEFI، پارتیشن ESP را بک‌آپ کنید. جزئیات بوت‌لودر را در آموزش GRUB ببینید.

مقایسه ابزارها#

ابزاررمزنگاریDedupفشرده‌سازیرابطبهترین کاربرد
rsyncخیر (در سطح فایل)خیرخیرCLIبک‌آپ محلی سریع، بازیابی ساده
Borgبله (AES-256)بلهبله (zstd)CLIبک‌آپ دور و رمزنگاری‌شده
resticبله (AES-256)بلهبلهCLIبک‌آپ ابری (S3، B2)
tarخیرخیربلهCLIآرشیو ساده، انتقال
Timeshiftخیربله (hard link)خیرGUIsnapshot دسکتاپ
Borgmatic———YAMLپیکربندی بک‌آپ خودکار Borg

restic برای فضای ابری

اگر بک‌آپ روی S3، Backblaze B2 یا MinIO می‌خواهید، restic بهترین انتخاب است. نصب:

emerge --ask app-backup/restic

Restic از پروتکل‌های S3، B2، Azure و SFTP پشتیبانی می‌کند و کد منبع سبک‌تری از Borg دارد.

خطاهای رایج#

۱. خطای "No space left on device" هنگام بک‌آپ#

دلیل: rsync بدون --delete اجرا شده یا dedup Borg خاموش است. راه‌حل:

# با --delete بک‌آپ بگیرید
rsync -aAXv --delete /home/ali/ /backup/ali/
 
# بررسی حجم بک‌آپ Borg
borg info /backup/borg-repo
# اگر deduplicated size به original size نزدیک بود، چیزی درست نیست

۲. Borg خطای "Repository does not exist"#

دلیل: مخزن به مسیر اشتباه اشاره می‌کند یا mount نشده است. راه‌حل:

# بررسی مسیر
ls -la /backup/borg-repo/
# باید شامل config، data، index، README باشد
 
# اگر هارد اکسترنال است، مطمئن شوید mount شده
mount | grep backup
# /dev/sdb1 on /backup type ext4 (rw,...)

۳. ریکاوری فایل با مجوز اشتباه#

دلیل: rsync بدون -a اجرا شده یا کاربر اشتباه. راه‌حل:

# همیشه با -a بک‌آپ بگیرید
rsync -aAXv ...
 
# اگر مجوزها خراب شد، از لیست بک‌آپ قبلی بازسازی کنید
# ذخیره لیست مالکان فایل‌ها
find /home -printf "%u:%g %p\n" > /tmp/perms.txt
# بازیابی مجوزها
while read -r user path; do
    chown "$user" "$path"
done < /tmp/perms.txt

خلاصه و مرحله بعد#

بک‌آپ در Gentoo با چهار ابزار اصلی انجام می‌شود: rsync برای بک‌آپ محلی سریع، Borg برای بک‌آپ رمزنگاری‌شده با dedup، restic برای فضای ابری و Timeshift برای دسکتاپ. قانون ۳-۲-۱ را رعایت کنید (سه نسخه، روی دو رسانه، یکی خارج از سایت) و حداقل هر سه ماه یک‌بار بازیابی بک‌آپ را تست کنید.

پیش از به‌روزرسانی سیستم، حتماً از /etc و /var/lib/portage بک‌آپ بگیرید؛ آموزش به‌روزرسانی سیستم را ببینید. برای امن‌سازی بیشتر سیستم به آموزش امنیت و برای رفع خطاهای بعد از بازیابی به آموزش عیب‌یابی مراجعه کنید.

اشتراک‌گذاری:

این صفحه در تاریخ ۱ تیر ۱۴۰۵ به‌روزرسانی شده است.