بهروزرسانی ناموفق، افزونه مخرب، هک یا حذف اشتباهی یک صفحه؛ در همه این موارد، تنها چیزی که سایت وردپرسی شما را برمیگرداند، یک بکاپ سالم است. در این راهنما توضیح میدهیم بکاپ وردپرس باید شامل چه چیزهایی باشد، سه روش بکاپگیری (هاست، افزونه و دستی) چه مزایا و محدودیتهایی دارند، بکاپ را کجا نگه داریم و چطور بازیابی را تست کنیم.
فهرست مطالب
بکاپ وردپرس شامل چه چیزهایی است؟
یک سایت وردپرسی از دو بخش تشکیل شده و بکاپ باید هر دو را داشته باشد:
- دیتابیس: نوشتهها، برگهها، دیدگاهها، کاربران، تنظیمات، و در فروشگاهها، محصولات و سفارشها. پرتغییرترین و مهمترین بخش.
- فایلها: پوشه
wp-content(تصاویر و فایلهای آپلودشده، افزونهها و قالبها) و فایلwp-config.php. فایلهای هسته وردپرس از منبع رسمی قابل دانلودند، اما گرفتن بکاپ کامل بازیابی را سادهتر میکند.
اگر سایت ایمیل روی همان هاست دارد، بکاپ ایمیلها را جداگانه در نظر بگیرید.
هر چند وقت بکاپ بگیریم؟
| نوع سایت | دیتابیس | فایلها |
|---|---|---|
| سایت شرکتی کمتغییر | هفتگی و پیش از هر تغییر | هفتگی |
| وبلاگ فعال | روزانه | روزانه یا هفتگی |
| فروشگاه اینترنتی | چند بار در روز | روزانه |
معیار درست این است: از دست دادن دادههای چند ساعت اخیر چقدر برای شما هزینه دارد؟ همچنین پیش از هر بهروزرسانی مهم، نصب افزونه یا تغییر قالب، یک بکاپ دستی بگیرید. اصول کلی در بکاپ سرور چیست.
روش ۱: بکاپ هاست
بیشتر هاستها بکاپ خودکار دارند؛ در هاستهای cPanel معمولاً با ابزارهایی مثل JetBackup که بازیابی فایل یا دیتابیس از تاریخهای گذشته را با چند کلیک ممکن میکند. بپرسید:
- بکاپ با چه دورهای گرفته و چند نسخه نگهداری میشود؟
- آیا خودتان میتوانید بازیابی کنید یا باید تیکت بزنید؟
- بکاپ کجا نگهداری میشود؟ روی سرور دیگر؟
بکاپ هاست ارزشمند است، اما به همان ارائهدهنده وابسته است. پس هر از گاهی یک بکاپ کامل از بخش Backup کنترلپنل دانلود و جای دیگری نگه دارید؛ راهنما در آموزش cPanel.
روش ۲: افزونه بکاپ
افزونههایی مثل UpdraftPlus، BackWPup یا Duplicator بکاپ زمانبندیشده از فایلها و دیتابیس میگیرند و آن را به فضای ذخیرهسازی خارجی میفرستند. نکات:
- مقصد را خارج از هاست تنظیم کنید؛ بکاپی که در همان پوشه سایت بماند، در هک یا خرابی هاست همراه سایت از بین میرود.
- بکاپگیری از سایتهای بزرگ با افزونه ممکن است با محدودیت زمان اجرا و حافظه هاست روبهرو شود.
- بکاپهای ذخیرهشده داخل سایت را در پوشهای که از وب قابل دانلود نیست نگه دارید؛ فایل بکاپ قابل دانلود یعنی نشت کامل اطلاعات سایت.
- اگر سایت هک شود، مهاجم ممکن است تنظیمات افزونه بکاپ را هم تغییر دهد؛ یک لایه بکاپ مستقل از وردپرس داشته باشید.
روش ۳: بکاپ دستی و خودکار روی VPS
روی VPS، یک اسکریپت ساده با WP-CLI و tar بکاپ قابل اعتمادی میسازد:
#!/bin/bash
set -e
SITE=/var/www/example.com
DEST=/var/backups/wp
DATE=$(date +%F-%H%M)
mkdir -p "$DEST"
cd "$SITE"
wp db export - --single-transaction | gzip > "$DEST/db-$DATE.sql.gz"
tar -czf "$DEST/files-$DATE.tar.gz" wp-content wp-config.php
find "$DEST" -type f -mtime +14 -delete
این اسکریپت را با cron اجرا کنید (آموزش در cron و systemd timers) و سپس بکاپها را با ابزاری مثل restic یا rsync به مقصد خارج از سرور منتقل کنید. برای اطمینان از اجرای واقعی بکاپ، در انتهای اسکریپت به یک مانیتور Push خبر بدهید؛ نمونه در آموزش Uptime Kuma. روشهای بیشتر بکاپ دیتابیس در بکاپ و انتقال دیتابیس.
بکاپ را کجا نگه داریم؟
- دستکم یک نسخه خارج از هاست یا سرور سایت.
- با حساب و رمز جداگانه، تا نفوذ به سایت به بکاپها نرسد.
- چند نسخه از تاریخهای مختلف؛ مثلاً ۷ روزانه، ۴ هفتگی و چند ماهانه، تا اگر آلودگی دیر کشف شد، نسخه سالم داشته باشید.
- رمزنگاریشده؛ بکاپ شامل همه اطلاعات کاربران و رمز دیتابیس است.
تفاوت بکاپ با Snapshot هاست یا سرور را در تفاوت Snapshot و Backup ببینید.
بازیابی و تست
بکاپی که هرگز بازیابی نشده، تضمینی ندارد. هر چند ماه یک بار:
- یک محیط آزمایشی (سابدامنه یا سرور جداگانه) آماده کنید.
- فایلها را باز و دیتابیس را درونریزی کنید و
wp-config.phpرا با اطلاعات محیط آزمایشی تنظیم کنید. - آدرسها را در صورت نیاز با
wp search-replaceتغییر دهید. - بررسی کنید سایت، تصاویر، ورود و فرمها درست کار میکنند و زمان کل بازیابی را یادداشت کنید.
روند بازیابی در محیط جدید تقریباً همان مراحل انتقال سایت است؛ جزئیات در انتقال وردپرس به هاست جدید.
اشتباههای رایج
- بکاپ فقط از فایلها یا فقط از دیتابیس.
- نگهداری بکاپ روی همان هاست.
- یک نسخه که هر شب روی نسخه قبلی بازنویسی میشود.
- بکاپهای قابل دانلود از پوشه عمومی سایت.
- هرگز تست نکردن بازیابی.
- اتکای کامل به بکاپ هاست بدون نسخه مستقل.
سوالات متداول
بهترین افزونه بکاپ وردپرس کدام است؟
افزونههای رایج مثل UpdraftPlus یا BackWPup برای بیشتر سایتها کافیاند. مهمتر از نام افزونه، ارسال بکاپ به مقصد خارجی، نگهداری چند نسخه و تست بازیابی است.
آیا بکاپ هاست کافی است؟
مفید است اما به یک ارائهدهنده وابسته است. یک نسخه مستقل هم خودتان نگه دارید.
بکاپ سایت هکشده را چطور بازیابی کنم؟
از نسخهای پیش از نفوذ بازیابی کنید، سپس همه رمزها را تغییر دهید و راه نفوذ را ببندید. راهنما در امنیت وردپرس.
حجم بکاپ خیلی زیاد است؛ چه کنم؟
پوشههای کش و بکاپهای قدیمی را از بکاپ مستثنی کنید و از ابزارهای بکاپ افزایشی مثل restic استفاده کنید که فقط تغییرات را ذخیره میکنند.
هاست با بکاپ منظم
هاستهای تراست هاست با پشتیبانگیری منظم ارائه میشوند؛ برای طراحی بکاپ مستقل روی سرور هم خدمات مدیریت سرور در دسترس است.