چگونه با rsync از مسیر /home روی سرور ریموت بک‌آپ بگیریم و مدیریت پیشرفته بک‌آپ در DirectAdmin

این راهنما نحوه استفاده از rsync برای بک‌آپ‌گیری از مسیر /home روی سرور ریموت، ترکیب rsync با بک‌آپ‌های DirectAdmin، نگه‌داشتن همزمان نسخه محلی و ریموت، تعمیر فایل‌های tar.gz خراب، کار با فایل‌های tar.zst، رفع خطاهای MySQL و FTP و همچنین مدیریت پیشرفته بک‌آپ با اسکریپت‌های user_backup_post را توضیح می‌دهد.

rsync to back up the /home directoryDirectAdmin

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

1. استفاده از rsync برای بک‌آپ‌گیری از /home روی سرور ریموت


با افزایش حجم داده‌ها روی سرورها، بک‌آپ‌های tar.gz زمان‌برتر می‌شوند. اگر بیشتر داده‌های شما در public_html یا پوشه‌های ایمیل قرار دارد، استفاده از rsync برای بک‌آپ‌گیری از کل مسیر /home یک روش بسیار سریع و کارآمد است.


نکته مهم: ابتدا باید اکانت‌های DirectAdmin را restore کنید. پس از ایجاد کاربران، می‌توانید داده‌ها را با rsync برگردانید. در صورت نیاز، می‌توانید restore را دوباره اجرا کنید.


در هنگام ساخت بک‌آپ DirectAdmin، در مرحله ۴ گزینه‌های زیر را غیرفعال کنید:


  • Domains Directory
  • E-Mail Data

این داده‌ها در مسیر /home قرار دارند و rsync آن‌ها را مدیریت می‌کند.


1.1 نمونه اسکریپت rsync برای بک‌آپ ریموت


#!/bin/bash
BACKUP_HOST="remote.hostname.com"
BACKUP_USER=`hostname -s`
BACKUP_SOURCE="/home"
BACKUP_DESTINATION="/home/$BACKUP_USER/users"

ionice -c3 nice -n 19 rsync -q -a --delete -e ssh $BACKUP_SOURCE \
$BACKUP_USER@$BACKUP_HOST:$BACKUP_DESTINATION >/var/log/backup.log 2>&1

پس از restore اکانت‌ها:


  • داده‌ها را با rsync برگردانید
  • مسیر /home/USERNAME/domains را در صورت نیاز اصلاح کنید

برای بک‌آپ تنظیمات وب‌میل:


  • /var/www/html/squirrelmail/data
  • /var/www/html/webmail/tmp

2. نگه‌داشتن همزمان بک‌آپ محلی و ریموت


DirectAdmin اجازه ذخیره همزمان لوکال و FTP را نمی‌دهد. برای داشتن هر دو، یک بک‌آپ FTP بسازید و با اسکریپت user_backup_post.sh قبل از حذف فایل، یک نسخه محلی ذخیره کنید.


2.1 اسکریپت برای ذخیره محلی فقط برای admin


#!/bin/sh
RESELLER=admin
SAVE_PATH=/home/${RESELLER}/admin_backups

BACKUP_PATH=$(echo $file | cut -d/ -f1,2,3,4)
REQUIRED_PATH=/home/tmp/${RESELLER}.

if [[ "$BACKUP_PATH" == ${REQUIRED_PATH}* ]]; then
      NEW_FILE=${SAVE_PATH}/`echo $file | cut -d/ -f6`
      cp -fp $file ${NEW_FILE}
fi
exit 0;

2.2 اسکریپت برای همه ریسلرها


#!/bin/sh
RESELLER=$reseller
SAVE_PATH=/home/${RESELLER}/user_backups

BACKUP_PATH=`echo $file | cut -d/ -f1,2,3,4`
REQUIRED_PATH=/home/tmp/

if [[ "$BACKUP_PATH" == ${REQUIRED_PATH}* ]]; then
      NEW_FILE=${SAVE_PATH}/`echo $file | cut -d/ -f6`
      cp -fp $file ${NEW_FILE}
fi
exit 0;

فعال‌سازی:


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

3. استخراج و بازسازی فایل بک‌آپ tar.gz


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


3.1 استخراج


cd /home/admin/admin_backups
cp user.admin.bob.tar.gz user.admin.bob.tar.gz.backup
mkdir temp
cd temp
tar xvzf ../user.admin.bob.tar.gz

3.2 فشرده‌سازی مجدد


cd /home/admin/admin_backups/temp
tar cvzf ../user.admin.bob.tar.gz *

4. کار با فایل‌های tar.zst


4.1 ساخت فایل tar.zst


tar --preserve-permissions --use-compress-program /usr/local/bin/zstdmt \
-cf backup.tar.zst backup

4.2 استخراج


tar --preserve-permissions --use-compress-program /usr/local/bin/zstdmt \
-xf backup.tar.zst

5. timeout در mysqldump


DirectAdmin مقدار زیر را دارد:


database_dump_timeout=14400

برای غیرفعال کردن:


/usr/local/directadmin/directadmin set database_dump_timeout 0

6. خطای “MySQL Server Has Gone Away” هنگام restore


دلایل احتمالی:


  • مقدار wait_timeout کم است
  • MySQL وسط restore ری‌استارت شده
  • مقدار max_allowed_packet کم است

افزایش مقدار:


max_allowed_packet=20M

7. خطای Backup Abort (2): Hard Link Found


این خطا زمانی رخ می‌دهد که backup_hard_link_check=1 فعال باشد و یک hard link در مسیر کاربر پیدا شود.


برای غیرفعال کردن:


backup_hard_link_check=0

حتماً مقدار زیر فعال باشد:


strict_backup_permissions=1

بهبود سرعت بک‌آپ:


direct_imap_backup=1

نادیده گرفتن خطاهای خواندن:


extra_backup_option=--warning=no-file-removed --warning=no-file-changed

8. خطاهای رایج FTP در بک‌آپ


8.1 curl: (55) Send failure: Connection reset by peer


  • کاربر FTP over quota
  • فایروال پورت‌های 20، 21 و 35000–35999 را بسته است

8.2 curl: (55) SSL_write() returned SYSCALL


کلاینت از پروتکل SSL موردنیاز پشتیبانی نمی‌کند.


8.3 curl: (55) Send failure: Connection timed out


احتمالاً مشکل فایروال است.


8.4 curl: (7) Failed to connect: Connection refused


سرور FTP اتصال را نمی‌پذیرد.


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

مقالات مرتبط

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

ادامه