~3 دقیقه مطالعه • بروزرسانی ۸ اسفند ۱۴۰۴
1. Custom Append Path در مسیرهای بکآپ
DirectAdmin اجازه میدهد مسیرهای بکآپ را با استفاده از custom append values سفارشیسازی کنید. این قابلیت به شما امکان میدهد ساختار نگهداری (Retention) دلخواه ایجاد کنید.
1.1 مثالهای کاربردی Custom Append Path
بکآپ روزانه بدون Append:
نتیجه: هر روز بکآپ قبلی overwrite میشود.
بکآپ روزانه با Append = Weekday:
نتیجه: نگهداری ۷ نسخه (هر روز هفته یک پوشه). مثال:
- backup-monday
- backup-tuesday
بکآپ هفتگی با Append = Week Number:
نتیجه: نگهداری ۴ نسخه (هر هفته یک پوشه).
بکآپ ماهانه با Append = Month:
نتیجه: نگهداری ۱۲ نسخه (هر ماه یک پوشه).
بکآپ روزانه با Append = Full Date:
نتیجه: نگهداری نامحدود (ممکن است دیسک پر شود). برای کنترل، میتوانید یک cron بسازید که فایلهای قدیمیتر از X روز را حذف کند.
1.2 استفاده از strftime برای ساخت مسیرهای دلخواه
Custom Append Path از strftime پشتیبانی میکند. مثالها:
%F→ 2014-03-05%A→ Wednesday%B→ March%m/%d→ 03/28
کاراکترهای مجاز:
- a-z
- A-Z
- 0-9
- % / - . _
کاراکترهای غیرمجاز:
:,%(در خروجی نهایی)
ابزار ساخت مسیر:
http://strftime.net1.3 نکته مهم درباره مسیرهای خطرناک
اگر مسیر خارج از پوشههای اسکیپشده باشد، ممکن است بکآپ وارد حلقه بینهایت شود.
مثال امن:
/home/admin/admin_backups/Wednesdayمثال خطرناک:
/home/admin/admin_backups_Wednesdayاین مسیر باعث میشود DirectAdmin خودش را دوباره بکآپ بگیرد.
2. فعالسازی فشردهسازی ZSTD برای بکآپها
DirectAdmin از فرمت tar.zst پشتیبانی میکند که بسیار سریعتر و کمحجمتر از gzip است.
برای فعالسازی:
da config-set zstd 1
da config-set backup_gzip 2
systemctl restart directadmin3. مسیرهای اسکیپشده در بکآپ
برای جلوگیری از حلقههای بکآپ یا دادههای غیرضروری، پوشههای زیر در مسیر /home/USERNAME اسکیپ میشوند:
- backups
- user_backups
- admin_backups
- usr
- bin
- etc
- lib
- lib64
- tmp
- var
- sbin
- dev
3.1 اسکیپ مسیرهای سفارشی
برای اسکیپ مسیرهای دلخواه:
Per User:
/usr/local/directadmin/data/users/USERNAME/skip_backup_home_files.listGlobal:
/usr/local/directadmin/data/admin/skip_backup_home_files.listنمونه مقادیر معتبر:
- Maildir
- application_backups
نمونه نامعتبر:
- some/specific/path.txt
4. افزودن تاریخ به نام فایلهای بکآپ
برای تبدیل نام فایل به فرم:
user.admin.username.2024-10-15-23-32.tar.gz
اسکریپت زیر را ایجاد کنید:
#!/bin/sh
RESELLER=admin
BACKUP_PATH=`echo $file | cut -d/ -f1,2,3,4`
REQUIRED_PATH=/home/$RESELLER/admin_backups
if [ "$BACKUP_PATH" = "$REQUIRED_PATH" ]; then
if [ "`echo $file | cut -d. -f4,5`" = "tar.gz" ]; then
NEW_FILE=`echo $file | cut -d. -f1,2,3`.`date +%F-%H-%M`.tar.gz
if [ -s "$file" ] && [ ! -e "$NEW_FILE" ]; then
mv $file $NEW_FILE
fi
fi
fi
exit 0;و سپس:
chmod 755 /usr/local/directadmin/scripts/custom/user_backup_success/dated_backup.sh5. انتقال بکآپها به مسیرهای خارجی (External Mount)
اگر مسیر خارجی فقط توسط root قابل نوشتن باشد، DirectAdmin نمیتواند مستقیم در آن بکآپ بسازد. راهحل: ساخت بکآپ در مسیر محلی و سپس انتقال آن.
اسکریپت زیر را ایجاد کنید:
#!/bin/bash
FROM=/home/admin/admin_backups
TO=/mnt/backups/
if [[ "${file}" == ${FROM}* ]]; then
/bin/mv -f ${file} ${TO}
fi
exit 0;و سپس:
chmod 755 /usr/local/directadmin/scripts/custom/user_backup_success/move_backups.shنوشته و پژوهش شده توسط دکتر شاهین صیامی