بکاپ وردپرس را بیرون از هاست نگه دارید
این راهنما با نسخهٔ رایگان BackWPup پیش میرود. فایلها و پایگاهداده را در یک Job قرار میدهید، مقصد S3 compatible را با Endpoint پارسپک میسازید و کار را با دیدن فایل در Bucket و یک بازیابی آزمایشی تمام میکنید.
مقصد درست در نسخهٔ رایگان
در BackWPup، ابتدا مقصد Amazon S3 را به Job اضافه میکنید، اما در تنظیمات آن، سرویس را روی Custom میگذارید تا درخواستها به پارسپک بروند.
گزینه S3-Compatible (Generic) در افزونه محبوبتر UpdraftPlus فقط در نسخه Premium وجود دارد. این راهنما عمداً روی BackWPup نوشته شده چون Endpoint سفارشی در نسخه رایگان آن هست و کل مسیر بدون خرید قابل اجراست.
قبل از ساخت Job، ظرفیت هاست را بسنجید
افزونه روی همان هاست فایل آرشیو را میسازد، پس حجم خالی، حافظه، زمان اجرا و Cron به اندازهٔ اتصال S3 مهماند.
- دسترسی مدیر (Administrator) به پیشخوان وردپرس
- Bucket اختصاصی و خصوصی پارسپک با فضای کافی و دسترسی خواندن/نوشتن/حذف
- ارتباط خروجی HTTPS از سرور هاست به Endpoint پارسپک، DNS سالم و ساعت دقیق سرور
- memory_limit و max_execution_time کافی؛ روی سایتهای بزرگ مقدار پیشفرض هاست اشتراکی معمولاً کم است
- اجرای درست WP-Cron برای بکاپ زمانبندیشده
WP-Cron وردپرس فقط وقتی اجرا میشود که کسی سایت را باز کند. روی سایت کمبازدید، بکاپ زمانبندیشده ممکن است ساعتها دیر اجرا شود یا اصلاً اجرا نشود. راه درست این است که WP-Cron داخلی را غیرفعال و بهجای آن یک Cron سیستمی روی سرور تعریف کنید.
// wp-config.php
define('DISABLE_WP_CRON', true);
*/15 * * * * curl -s https://example.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
برای وردپرس یک دسترسی جداگانه بسازید
کلیدی بسازید که فقط به Bucket بکاپ دسترسی داشته باشد. این کار هم دامنهٔ خطر را کم میکند و هم تعویض کلید افزونه را سادهتر میکند.
Bucket را خصوصی نگه دارید
برای بکاپ وردپرس یک Bucket مستقل بسازید و آن را روی حالت خصوصی بگذارید.
فایل بکاپ شامل دیتابیس و فایل wp-config.php است؛ اگر Bucket عمومی باشد،
هر کسی با داشتن آدرس فایل میتواند کل سایت و رمز دیتابیس شما را بردارد.
- ۱ حالت دسترسی خصوصی
- ۲ نام Bucket که در فرم افزونه لازم میشود
کاربر اختصاصی و مشخصات اتصال
برای وردپرس یک کاربر جداگانه بسازید و دسترسیاش را فقط به همین Bucket بدهید. با این کار اگر روزی هاست وردپرس آلوده شد، کلید لو رفته به بقیه Bucketهای شما دسترسی ندارد.
Access Key و Secret Key را همان لحظه در Password Manager ذخیره کنید؛ Secret Key معمولاً فقط یک بار نمایش داده میشود.
- ۱ دسترسی خواندن، نوشتن و حذف روی همین Bucket
- ۱ Endpoint، Access Key و Secret Key
Endpoint یک مقدار عمومی و ثابت برای همه کاربران نیست. همان End Point URL که در پنل خودتان نوشته شده را عیناً کپی کنید؛ از مقدار نمونه داخل تصویرهای این صفحه استفاده نکنید.
BackWPup را از مخزن وردپرس نصب کنید
نام ناشر را هم بررسی کنید تا افزونهٔ همنام یا نسخهٔ غیررسمی نصب نشود.
جستوجو و نصب افزونه
در پیشخوان به Plugins → Add Plugin بروید و
BackWPup را جستوجو کنید. کارت درست، همانی است که ناشرش
WP Media است. روی Install Now بزنید.
- ۱ کارت BackWPup از ناشر WP Media
فعالسازی
بعد از نصب، Activate را بزنید. منوی BackWPup به نوار کناری پیشخوان اضافه میشود و افزونه شما را مستقیم به ویزارد ساخت اولین بکاپ میبرد.
- ۱ وضعیت فعال افزونه
Job را از نیاز بازیابی طراحی کنید
ویزارد سه تصمیم میگیرد: چه دادهای بکاپ شود، چه زمانی اجرا شود و آرشیو کجا بماند.
انتخاب محتوای بکاپ
هر دو کلید Files و Database را روشن بگذارید. بکاپ فقط فایل یا فقط دیتابیس برای بازگردانی کامل سایت کافی نیست: محتوای نوشتهها در دیتابیس است، ولی تصویرها، قالب و افزونهها در فایلها.
با Advanced settings میتوانید پوشههای سنگین و بیاهمیت (مثل کش) را از بکاپ کنار بگذارید تا حجم و زمان اجرا کمتر شود.
- ۱ فایلهای وردپرس
- ۲ دیتابیس
- ۳ ادامه به گام بعد
تعیین دوره زمانی
دوره اجرا را متناسب با نرخ تغییر سایت انتخاب کنید. برای یک سایت خبری یا فروشگاه، روزانه؛ برای سایت معرفی شرکت که ماهی یک بار بهروز میشود، هفتگی کافی است.
ساعت اجرا را روی کمترافیکترین ساعت شبانهروز بگذارید؛ بکاپگیری هم CPU و هم پهنای باند خروجی مصرف میکند.
- ۱ انتخاب دوره و ساعت اجرا
انتخاب مقصد Amazon S3
در گام سوم، از بخش Cloud Storages گزینه Amazon S3 را انتخاب کنید. همین گزینه است که فضای پارسپک را میگیرد؛ مقصدهایی که کنارشان قفل دارند (Google Drive، Glacier، HiDrive، OneDrive) مخصوص نسخه Pro هستند.
مقصد Website Server بکاپ را روی همان هاست نگه میدارد. اگر هاست از دست برود، بکاپ هم با آن میرود. آن را در کنار S3 میشود داشت، ولی هرگز بهتنهایی نه.
- ۱ انتخاب Amazon S3 برای اتصال به پارسپک
مقصد Custom S3 را با دقت پر کنید
بعد از انتخاب Amazon S3، پنل تنظیمات باز میشود. ابتدا Service را روی Custom بگذارید؛ بدون این کار، فیلد Endpoint نمایش داده نمیشود.
باز شدن پنل Amazon S3 Settings
فیلد اول، Select a S3 Service، بهطور پیشفرض روی Amazon S3: US East (N. Virginia) است. این فهرست، سرویسهای آماده است: مناطق آمازون، Google Storage، DigitalOcean، Scaleway و چند مورد دیگر. پارسپک در این فهرست نیست.
- ۱ فهرست انتخاب سرویس S3
انتخاب گزینه Custom
فهرست را تا انتها باز کنید و آخرین گزینه، یعنی Custom، را بزنید. بهمحض انتخاب، بخش تازهای با نام a S3 Server URL ظاهر میشود که فیلد Endpoint و بقیه تنظیمات سرویس سفارشی در آن است. همین بخش، کلید کل این راهنماست و در نسخه رایگان هم در دسترس است.
- ۱ انتخاب Custom
- ۲ بخش تازه S3 Server URL
واردکردن Endpoint و کلیدها
مقدارهای پنل پارسپک را در فیلدهای زیر بگذارید. بعد از پرکردن Access Key و Secret Key چند ثانیه صبر کنید؛ افزونه خودش به Endpoint وصل میشود و فهرست Bucketها را میگیرد. اگر بهجای فهرست، پیام Missing access key! ماند، یعنی اتصال برقرار نشده و باید Endpoint و کلیدها را دوباره کنترل کنید.
- ۱ Endpoint اختصاصی پارسپک
- ۲ Region
- ۳ Multipart و Pathstyle
- ۴ Access Key و Secret Key
| فیلد | مقدار |
|---|---|
| Select a S3 Service | Custom — آخرین گزینه فهرست. |
| Endpoint | همان End Point URL پنل، با https://. مثال نمونه: https://c123456.parspack.net |
| Region | us-east-1 — همان مقداری که در بقیه راهنماهای S3 این مجموعه هم استفاده میشود. |
| Destination supports multipart | فعال. فایلهای بزرگ را به بخشهای کوچکتر تقسیم میکند و انتقال ناموفق را قابلمدیریتتر میسازد. |
| Destination provides only Pathstyle buckets | اگر بعد از تست، خطای «Bucket پیدا نشد» گرفتید این را فعال کنید؛ یعنی نام Bucket در مسیر آدرس میآید نه در زیردامنه. |
| Version و Signature | latest و v4 — مقدار پیشفرض را دست نزنید. |
| Access Key و Secret Key | کلیدهای همان کاربر اختصاصی که در گام ۳ ساختید. |
انتخاب Bucket، پوشه و تعداد نگهداری
در Bucket selection باکت خودتان را از فهرست انتخاب کنید. اگر فهرست پر شده، یعنی Endpoint و کلیدها درستاند. فیلد Create a new Bucket را خالی بگذارید مگر بخواهید باکت تازهای ساخته شود.
Folder to store files in یک پوشه داخل باکت است؛ یک نام روشن مثل
wordpress-backup/ بگذارید تا بکاپ وردپرس با بقیه فایلهای باکت قاطی نشود.
Max backups to retain سقف تعداد بکاپ نگهداشتهشده است؛ با رسیدن به این عدد،
قدیمیترین بکاپ حذف میشود. مقدار 0 یعنی بینهایت — که یعنی مصرف فضای شما هم بینهایت رشد میکند.
- ۱ انتخاب Bucket از فهرست
- ۲ پوشه مقصد داخل Bucket
- ۳ سقف تعداد بکاپ
ذخیره و تست اتصال
دکمه Save & Test connection پایین پنل، تنظیمات را ذخیره و اتصال را آزمایش میکند. اگر همهچیز درست باشد پنل بسته میشود و کارت Amazon S3 در فهرست مقصدها سبز و انتخابشده میماند — همان چیزی که در تصویر میبینید. حالا دکمه Save & Continue فعال است.
سبزشدن کارت مقصد یعنی Endpoint، کلیدها و دسترسی پایه Bucket پذیرفته شدهاند. این هنوز به معنی موفقبودن یک بکاپ کامل نیست؛ آزمون واقعی، اجرای دستی Job در گام بعد است.
- ۱ مقصد S3 ذخیره و انتخاب شد
زمانبندی و Retention را با هم طراحی کنید
فاصلهٔ اجرا، تعداد نسخهها و حجم هر آرشیو با هم هزینه و نقطهٔ بازگشت را میسازند؛ هیچکدام را جداگانه انتخاب نکنید.
| نوع سایت | دوره | تعداد نگهداری |
|---|---|---|
| فروشگاه یا سایت خبری پرتغییر | روزانه | ۱۴ تا ۳۰ |
| وبلاگ یا سایت شرکتی معمولی | هفتگی | ۸ تا ۱۲ |
| سایت معرفی ثابت | ماهانه | ۶ تا ۱۲ |
این اعداد نقطه شروعاند، نه قاعده. سؤال درست این است: «اگر همین الان سایت از بین برود، از دسترفتن کار چند روز اخیر برایم قابل تحمل است؟» فاصله دو بکاپ نباید از آن عدد بیشتر باشد.
پارسپک برای هر Bucket سقف ۳۰۰ درخواست در دقیقه اعلام کرده است. یک Job معمولی وردپرس به این سقف نزدیک نمیشود، ولی اگر چند سایت را همزمان روی یک Bucket بکاپ میگیرید، ساعت اجرای Jobها را از هم فاصله بدهید تا خطای 429 یا SlowDown نگیرید.
یک اجرای دستی را تا انتها دنبال کنید
اتصال موفق به S3 فقط یک پیشنیاز است. اجرای دستی نشان میدهد ساخت آرشیو، انتقال و ثبت History هم بدون خطا انجام میشوند.
پایان ویزارد و صفحه اصلی افزونه
با Save & Continue ویزارد تمام میشود و Job ساختهشده در Next Scheduled Backups نشان داده میشود، همراه با تاریخ اجرای بعدی. از همین کارت میتوانید محتوا، دوره، مقصد و فرمت Job را بعداً تغییر دهید.
- ۱ Job ساختهشده و تاریخ اجرای بعدی
- ۲ آیکن اجرای فوری همین Job
- ۳ ویرایش محتوا، دوره، مقصد و فرمت
اجرای فوری Job
آیکن آپلود کنار تاریخ اجرای بعدی، همین Job را همین حالا اجرا میکند. پنجرهای باز میشود که تأکید میکند بکاپ با همان محتوا و همان مقصدی ساخته میشود که برای Job زمانبندیشده انتخاب کردهاید. Start را بزنید.
دکمه Backup Now بالای صفحه کار دیگری میکند: یک بکاپ سریع میسازد و روی همان هاست نگه میدارد تا دانلودش کنید. برای آزمودن اتصال پارسپک، باید Job را از روی کارت اجرا کنید، نه با آن دکمه.
- ۱ شروع اجرای Job با همان مقصد S3
خواندن نتیجه
در پایان، پیام Backup created in … seconds با دکمه Display Logs ظاهر میشود. اگر بهجای آن خط قرمز Job has ended with errors دیدید، حتماً لاگ را باز کنید؛ علت دقیق (نبود Bucket، خطای امضا، تایماوت) همانجا نوشته شده است.
- ۱ پیام پایان موفق
- ۲ باز کردن لاگ کامل
تأیید نهایی در Backups History
در جدول Backups History، ستون Stored on باید نشان دهد بکاپ روی مقصد S3 نشسته است، نه فقط روی هاست. برای اطمینان کامل، همان فایل را در پنل پارسپک هم ببینید: باید داخل پوشهای باشد که در گام ۹ تعیین کردید و حجمش منطقی باشد.
بکاپی که هرگز بازگردانی نشده، بکاپ نیست؛ فقط یک فایل است. دستکم یک بار روی یک محیط آزمایشی (staging) بازگردانی را تمرین کنید.
- ۱ ستون Stored on و مقصد S3
بازیابی را بخشی از راهاندازی بدانید
در نسخهٔ رایگان، آرشیو را دستی به صفحهٔ Restore میدهید. این مسیر را حداقل یک بار، پیش از نیاز واقعی، اجرا کنید.
صفحه Restore
در BackWPup → Restore backup باید فایل آرشیو را خودتان آپلود کنید: اول از پنل پارسپک دانلودش میکنید، بعد اینجا با Select Archive یا کشیدنورهاکردن بالا میفرستید. بازگردانی مستقیم از روی فضای ابری با یک کلیک، فقط در نسخه Pro هست.
یعنی برای بازگردانی به دو چیز نیاز دارید که باید همین حالا آماده باشند: دسترسی به پنل پارسپک، و پهنای باند و فضای کافی برای دانلود یک فایل احتمالاً چند گیگابایتی.
- ۱ آپلود دستی آرشیو بکاپ
- ۲ بازگردانی مستقیم، مخصوص نسخه Pro
به پیام خلاصه اکتفا نکنید
Display Logs را باز کنید و نخستین خطای واقعی، کد HTTP و زمان رخداد را بردارید؛ خطاهای بعدی ممکن است فقط پیامد همان مشکل اولیه باشند.
| پیام | علت محتمل | کار |
|---|---|---|
| Missing access key! (فهرست Bucket پر نمیشود) | Endpoint یا کلیدها غلطاند، یا سرور به Endpoint نمیرسد | Endpoint را دوباره از پنل کپی کنید (با https:// و بدون فاصله اضافه)، کلیدها را از نو بچسبانید و از سرور یک تست شبکه به Endpoint بگیرید. |
| SignatureDoesNotMatch | Secret Key اشتباه، فاصله اضافی، یا ساعت سرور نادرست | Secret Key را دوباره وارد کنید و ساعت سرور را با NTP هماهنگ کنید؛ اختلاف چند دقیقهای امضا را باطل میکند. |
| S3 Bucket "…" does not exist! | نام Bucket غلط است یا آدرسدهی زیردامنهای جواب نمیدهد | نام را از فهرست انتخاب کنید نه دستی؛ اگر باز هم خطا داد، Destination provides only Pathstyle buckets را فعال کنید. |
| 403 AccessDenied | کاربر دسترسی نوشتن یا حذف روی Bucket ندارد | در «مدیریت دسترسی» پنل، دسترسی خواندن/نوشتن/حذف را روی همان Bucket به کاربر بدهید. |
| Job نیمهکاره متوقف میشود یا لاگ ناتمام میماند | تایماوت PHP یا کمبود حافظه روی هاست | max_execution_time و memory_limit را بالا ببرید و پوشههای سنگین و بیارزش (کش) را از بکاپ کنار بگذارید. |
| 429 یا SlowDown | عبور از سقف ۳۰۰ درخواست در دقیقه هر Bucket | ساعت اجرای Jobهای همزمان را از هم فاصله بدهید یا برای هر سایت Bucket جدا بگیرید. |
| خطای SSL یا cURL هنگام اتصال | DNS، تاریخ سرور یا زنجیره گواهی | DNS و تاریخ سرور را اصلاح و گواهی Endpoint را بررسی کنید؛ بررسی گواهی را برای دورزدن مشکل غیرفعال نکنید. |
| بکاپ زمانبندیشده اجرا نمیشود | WP-Cron فقط با بازدید سایت اجرا میشود | طبق بخش پیشنیازها، Cron داخلی را غیرفعال و Cron سیستمی تعریف کنید. |
اگر Access Key یا Secret Key قبلاً در اسکرینشات، تیکت یا مخزن عمومی منتشر شده است، پاککردن آن پست کافی نیست. کلید را در پنل پارسپک باطل کنید، کلید تازه بسازید و در فرم افزونه جایگزین کنید.
منابع و دامنه اعتبار
تصویرهای این صفحه روی BackWPup 5.7.5 و WordPress 6.9 گرفته شدهاند. در نسخههای بعدی ممکن است جای فیلدها جابهجا شود.
- BackWPup در مخزن رسمی وردپرس نسخه فعلی، فهرست مقصدهای نسخه رایگان و سازگاری با نسخه وردپرس شما.
- مستندات رسمی BackWPup جزئیات Jobها، مقصدها، بازگردانی و تفاوت نسخه رایگان و Pro.
- افزودن سرویس S3 با فیلتر backwpup_s3_destination راه دوم: ثبت پارسپک بهعنوان یک سرویس آماده در فهرست، بهجای انتخاب هر بار Custom.
- پارسپک — مدیریت کاربران در فضای ابری دریافت End Point URL، Access Key و Secret Key از مدیریت دسترسی.
- پارسپک — قوانین و محدودیتهای فضای ابری سقف درخواست Bucket و محدودیتهایی که در زمانبندی Jobها باید در نظر گرفته شوند.
- WordPress — مستندات Cron چرایی وابستگی WP-Cron به بازدید سایت و راه جایگزینی با Cron سیستمی.