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

این مقاله یک راهنمای کامل برای استفاده از Borg به‌عنوان سیستم بک‌آپ افزایشی در DirectAdmin است. شامل مراحل نصب Borg، ساخت مخزن محلی یا ریموت، ایجاد اسکریپت خودکار برای همگام‌سازی پس از هر بک‌آپ، مدیریت نگهداری نسخه‌ها (Retention)، و روش کامل ری‌استور از طریق mount کردن بک‌آپ‌ها. این روش یک جایگزین قدرتمند و رایگان برای FTP محسوب می‌شود.

Borg BackupDirectAdmin CLI BackupIncremental Backup

~2 دقیقه مطالعه · آخرین به‌روزرسانی ۱۰ اسفند ۱۴۰۴

1. چرا استفاده از Borg؟


اگر از روش FTP برای بک‌آپ ریموت راضی نیستید و به دنبال یک سیستم بک‌آپ حرفه‌ای‌تر، سریع‌تر و افزایشی هستید، Borg یکی از بهترین گزینه‌هاست. Borg قابلیت‌های زیر را ارائه می‌دهد:


  • بک‌آپ افزایشی (Incremental)
  • فشرده‌سازی و Deduplication
  • امکان نگهداری نسخه‌های روزانه، هفتگی و ماهانه
  • امکان استفاده از مخزن محلی یا ریموت

2. مرحله اول: ساخت بک‌آپ DirectAdmin بدون داده‌های حجیم


به مسیر زیر بروید:


Admin Backup/Transfer → Schedule

سپس:


  • بک‌آپ را روزانه یا طبق نیاز زمان‌بندی کنید
  • گزینه‌های Domains Directory و E-mail Data را غیرفعال کنید
  • مسیر ذخیره‌سازی را /home/admin/admin_backups قرار دهید

3. مرحله دوم: نصب Borg


CentOS:


yum -y install epel-release
yum -y install borgbackup

Debian/Ubuntu:


apt install borgbackup

4. مرحله سوم: ساخت مخزن (Repository)


مخزن محلی:


borg init --encryption=none /backups

مخزن ریموت:


REPOSITORY=borgbackup@YOUR_SERVER_IP:/backups/`hostname -f`

برای اتصال بدون پسورد، کلید SSH روت را روی سرور مقصد اضافه کنید.


5. مرحله چهارم: ساخت اسکریپت خودکار پس از بک‌آپ


فایل زیر را ایجاد کنید:


/usr/local/directadmin/scripts/custom/all_backups_post.sh

محتوا:


#!/bin/sh
REPOSITORY=borgbackup@YOUR_SERVER_IP:/backups/`hostname -f`

borg create -v --stats \
    $REPOSITORY::'{hostname}-{now:%Y-%m-%d_%H:%M}' \
    /home \
    /var/www/html \
    /etc \
    /usr/local/directadmin > /tmp/borg-stat.tmp 2>&1

if [ "$?" -le 1 ]; then
    borg prune -v $REPOSITORY --prefix '{hostname}-' \
        --keep-daily=7 --keep-weekly=4 --keep-monthly=6
else
    date >> /tmp/borg-stat.tmp
    mail -s "backup failed on server `hostname -f`" [email protected] \
        < /tmp/borg-stat.tmp
fi

اعمال دسترسی:


chmod 700 /usr/local/directadmin/scripts/custom/all_backups_post.sh

این اسکریپت پس از هر بک‌آپ DirectAdmin اجرا شده و داده‌ها را به Borg منتقل می‌کند.


6. نگهداری نسخه‌ها (Retention)


در اسکریپت بالا، نگهداری نسخه‌ها به شکل زیر تنظیم شده:


  • ۷ نسخه روزانه
  • ۴ نسخه هفتگی
  • ۶ نسخه ماهانه

می‌توانید این مقادیر را تغییر دهید.


7. ری‌استور از Borg


مخزن Borg در فایل اسکریپت قابل مشاهده است. مثال:


REPOSITORY=ssh://[email protected]:2200/home/rbackup/`hostname -f`

7.1 لیست بک‌آپ‌ها


borg list ssh://[email protected]:2200/home/rbackup/`hostname -f`

7.2 Mount کردن بک‌آپ


مثال:


mkdir /mnt/mybackup
borg mount ssh://[email protected]:2200/home/rbackup/`hostname -f`::server.mycompany.tld-2019-11-13_05:06 /mnt/mybackup

پس از mount:


ls -l /mnt/mybackup

7.3 بازیابی یک فایل خاص


مثلاً فایل index.php حذف شده:


cd /mnt/mybackup/home/admin/domains/clientdomain.com/public_html/wp-admin
cp -a index.php /home/admin/

7.4 Unmount کردن


umount /mnt/mybackup
rmdir /mnt/mybackup

8. بازیابی دیتابیس‌ها


دیتابیس‌ها در مسیر زیر ذخیره می‌شوند:


/home/admin/admin_backups/

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


نوشته و پژوهش‌شده توسط دکتر شاهین صیامی

مقالات مرتبط

راهنمای کامل پیکربندی کلاینت‌های ایمیل، هشدارهای quota در Dovecot و بررسی آخرین لاگین‌ها در DirectAdmin

این مقاله یک مرجع جامع برای کاربران و مدیران DirectAdmin است. در این راهنما یاد می‌گیرید چگونه ایمیل را روی iPhone، Thunderbird و Gmail تنظیم کنید، هشدارهای پر شدن quota را در Dovecot فعال کنید و با یک اسکریپت ساده، آخرین زمان لاگین تمام حساب‌های ایمیل را مشاهده کنید.

ادامه

عیب‌یابی Dovecot در DirectAdmin – رفع خطاهای IMAP، مشکلات احراز هویت و بررسی گواهی SSL

Dovecot سرویس اصلی IMAP/POP3 در DirectAdmin است. گاهی کاربران هنگام ورود به وب‌میل یا کلاینت ایمیل با خطاهایی مثل "Connection dropped" یا "unknown user" مواجه می‌شوند. این مقاله یک راهنمای کامل برای رفع خطاهای رایج Dovecot، پاک‌سازی ایندکس‌ها، بررسی دیتابیس‌های احراز هویت و تست گواهی SSL روی پورت‌های 143 و 993 است.

ادامه

عیب‌یابی DNS در DirectAdmin – وقتی named اجرا می‌شود اما دامنه resolve نمی‌شود

گاهی سرویس named (BIND) روی سرور اجرا می‌شود اما دامنه‌ها resolve نمی‌شوند یا از بیرون پاسخ DNS دریافت نمی‌شود. این مقاله یک راهنمای کامل برای بررسی listen، فایروال، تنظیمات named.conf، propagation، رکوردهای اشتباه، مشکلات ساب‌دامین، resolv.conf و خطاهای رایج DNS در DirectAdmin است.

ادامه

مدیریت رکوردهای DNS در DirectAdmin – راهنمای کامل، کاربردی و حرفه‌ای

DirectAdmin ابزارهای قدرتمندی برای مدیریت DNS ارائه می‌دهد: از کاهش TTL برای جلوگیری از downtime، تا ساخت رکوردهای SRV، فعال‌سازی DNSSEC، مدیریت delegation ساب‌دامین‌ها، افزودن خودکار TLSA برای DANE و حتی تغییرات گروهی (Mass Update) روی همه دامنه‌ها. این مقاله یک مرجع کامل برای مدیریت حرفه‌ای DNS در DirectAdmin است.

ادامه

DNS و Nameserverها در DirectAdmin – راهنمای کامل، کاربردی و حرفه‌ای

DNS ستون فقرات اینترنت است و وظیفه دارد نام دامنه را به IP تبدیل کند. در DirectAdmin می‌توان Nameserverهای اختصاصی ساخت، DNS را مدیریت کرد، DNS Clustering راه‌اندازی کرد و حتی از DNS خارجی استفاده نمود. این مقاله یک راهنمای جامع برای درک DNS، ساخت ns1/ns2، تنظیم Glue Record، رفع خطاها و مدیریت حرفه‌ای DNS در DirectAdmin است.

ادامه

CustomBuild در DirectAdmin – راهنمای کامل نصب، به‌روزرسانی، پیکربندی و سفارشی‌سازی پیشرفته

CustomBuild ابزار اصلی DirectAdmin برای مدیریت سرویس‌ها و نرم‌افزارهای سرور است. این ابزار وب‌سرور، PHP، دیتابیس، ایمیل، FTP و بسیاری از کامپوننت‌های دیگر را نصب، به‌روزرسانی و پیکربندی می‌کند. به دلیل کامپایل از سورس، CustomBuild انعطاف‌پذیری بسیار بالا، سرعت دسترسی به نسخه‌های جدید و مصرف منابع بهینه را فراهم می‌کند.

ادامه