مدیریت کاربران حجیم و بهینه‌سازی زمان‌بندی بک‌آپ در DirectAdmin

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

DirectAdmin BackupLarge UsersBackup Scheduling

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

1. مشکل بک‌آپ‌گیری از کاربران حجیم


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


  • بک‌آپ‌گیری کمتر (مثلاً فقط یک‌بار در هفته)
  • تقسیم کاربران در روزهای مختلف هفته
  • غیرفعال کردن بخش‌هایی از بک‌آپ (مثل IMAP، دیتابیس یا Domains Directory)
  • استفاده از rsync برای انتقال داده‌های حجیم

در نسخه‌های جدید DirectAdmin، در مرحله ۴ بک‌آپ (Step 4: What) می‌توانید دقیقاً انتخاب کنید چه بخش‌هایی بک‌آپ شوند.


2. استفاده از rsync برای کاربران با پوشه‌های حجیم


اگر مسیر /home/username/domains بسیار بزرگ است، می‌توانید گزینه Domains Directory را غیرفعال کنید و سپس با rsync آن را منتقل کنید.


برای داده‌های ایمیل یا سایر مسیرها نیز می‌توانید کل /home/username را rsync کنید.


3. انتقال داده‌های حجیم به مسیرهای اسکیپ‌شده


اگر بخشی از داده‌ها نیاز به بک‌آپ مداوم ندارند (مثل تصاویر ثابت)، می‌توانید آن‌ها را به مسیرهای اسکیپ‌شده منتقل کنید.


مثال:


cd /home/user
mkdir var
chown user:user var
cd var
cp -Rp ../domains/domain.com/public_html/images .

سپس لینک ایجاد کنید:


cd /home/user/domains/domain.com/public_html
mv images images.old
ln -s ../../../var/images .

4. کاهش فشار دیسک با ionice


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


DirectAdmin امکان محدود کردن tar با ionice را نیز دارد.


5. انتقال کاربران حجیم در چند مرحله


اگر بک‌آپ یک کاربر بسیار بزرگ است و tar.gz قابل ساخت نیست، می‌توانید بک‌آپ را به چند بخش تقسیم کنید:


  • غیرفعال کردن Domains Directory
  • غیرفعال کردن E-Mail Data
  • غیرفعال کردن Database Data

سپس هر بخش را جداگانه restore کنید و داده‌های حجیم را با rsync منتقل کنید.


6. کنترل لود قبل از ساخت بک‌آپ


اگر نمی‌خواهید بک‌آپ در زمان‌های شلوغ اجرا شود، می‌توانید لود سیستم را قبل از هر بک‌آپ بررسی کنید.


6.1 اسکریپت کنترل لود


#!/bin/sh
MAXTRIES=20
MAXLOAD=8.00

highload()
{
          LOAD=`cat /proc/loadavg | cut -d\  -f1`
          echo "$LOAD > $MAXLOAD" | bc
}

TRIES=0
while [ `highload` -eq 1 ];
do
          sleep 5;
          if [ "$TRIES" -ge "$MAXTRIES" ]; then
                    echo "system load above $MAXLOAD for $MAXTRIES attempts. Aborting.";
                    exit 1;
          fi
          ((TRIES++))
done;
exit 0;

فعال‌سازی:


chmod 755 /usr/local/directadmin/scripts/custom/user_backup_pre.sh

7. جلوگیری از تداخل بک‌آپ با سیستم quota


در نسخه‌های جدید DirectAdmin مقدار realtime_quotas=2 به‌صورت پیش‌فرض فعال است و مشکل تداخل بک‌آپ با شمارش quota را حل می‌کند.


اگر realtime_quotas=0 باشد، ممکن است DA حجم کاربر را دو برابر حساب کند.


راه‌حل‌ها:


  • فعال‌سازی realtime_quotas=2
  • تغییر مسیر backup_tmpdir به پارتیشن دیگر
  • فعال‌سازی direct_imap_backup=1

8. محدود کردن زمان مجاز برای بک‌آپ کاربران و ریسلرها


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


8.1 نمونه اسکریپت محدودیت زمانی


#!/bin/sh

HOUR=`date +%k`
MAKINGBACKUP=0
if [ "$command" = "/CMD_USER_BACKUP" ]; then
    if [ "$action" = "create" ]; then
        MAKINGBACKUP=1
        if [ "$when" = "cron" ]; then
            HOUR=$hour
        fi
    fi        
fi

if [ "$command" = "/CMD_SITE_BACKUP" ]; then
    if [ "$action" = "backup" ]; then
        MAKINGBACKUP=1
    fi        
fi

if [ "$MAKINGBACKUP" -eq 1 ]; then
    if [ "$HOUR" -ge 1 ] && [ "$HOUR" -lt 8 ]; then
        exit 0;
    else
        echo "Backups must be created between 1am and 8am";
        exit 1;
    fi
fi
exit 0;

فعال‌سازی:


chmod 755 /usr/local/directadmin/scripts/custom/all_pre.sh

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

مقالات مرتبط

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

ادامه