بکاپگیری از سایت وردپرسی یکی از ضروریترین اقداماتی است که هر مدیر سایتی باید به آن توجه داشته باشد. با توجه به خطراتی مانند هک شدن، خرابی سرور، یا اشتباهات انسانی، داشتن یک نسخه پشتیبان از سایت میتواند به شما کمک کند تا در مواقع اضطراری به سرعت به وضعیت قبلی بازگردید. در این راهنما، سه روش مختلف برای بکاپگیری از وردپرس را بررسی میکنیم و در نهایت بهترین افزونههای موجود در این زمینه را معرفی خواهیم کرد.
بکاپگیری به شما این امکان را میدهد که با خیال راحت به توسعه و بهبود سایت خود بپردازید و از بروز مشکلات ناگهانی جلوگیری کنید. با ما همراه باشید تا با این روشها و ابزارهای کارآمد آشنا شوید و تجربهای امنتر از مدیریت سایت وردپرسی خود داشته باشید.

بکاپ وردپرس چیست؟
بکاپ وردپرس به فرآیند تهیه نسخه پشتیبان از تمامی دادهها و فایلهای موجود در یک سایت وردپرسی اشاره دارد. این نسخه پشتیبان میتواند شامل موارد زیر باشد:
- پایگاه داده: تمامی اطلاعات مربوط به پستها، صفحات، نظرات، کاربران و تنظیمات سایت در پایگاه داده ذخیره میشود. بکاپگیری از پایگاه داده به شما این امکان را میدهد که تمامی دادههای سایت خود را در صورت بروز مشکل بازیابی کنید.
- فایلهای وردپرس: این شامل تمامی فایلهای هسته وردپرس، تمها (قالبها) و افزونهها (پلاگینها) است. همچنین هر گونه فایل رسانهای که به سایت اضافه شده، مانند تصاویر، ویدئوها و مستندات نیز در این بخش قرار میگیرد.
- تنظیمات و پیکربندیها: تمامی تنظیمات سایت، شامل تنظیمات مربوط به افزونهها، تمها و سایر پیکربندیهای سفارشی که ممکن است انجام داده باشید، نیز باید در بکاپ لحاظ شود.
اهمیت بکاپ وردپرس:
- جلوگیری از دست دادن اطلاعات: در صورتی که سایت شما به هر دلیلی دچار مشکل شود (مانند حمله هکری، خرابی سرور، یا خطاهای انسانی)، با داشتن یک نسخه پشتیبان میتوانید به سرعت به حالت قبلی بازگردید.
- آزمایش تغییرات: قبل از انجام هرگونه تغییر عمده در سایت، میتوانید از آن بکاپ بگیرید و سپس تغییرات را اعمال کنید. اگر تغییرات به درستی عمل نکردند، میتوانید به سادگی به نسخه قبلی برگردید.
- حفاظت از امنیت: با داشتن بکاپهای منظم، میتوانید در برابر تهدیدات امنیتی مقاومت کنید و در صورت بروز مشکل، اطلاعات خود را بازیابی کنید.
روشهای تهیه بکاپ:
بکاپ وردپرس میتواند به صورت دستی یا خودکار انجام شود. روشهای معمول شامل استفاده از افزونههای مخصوص بکاپ، کپیکردن دستی فایلها و پایگاه داده، و استفاده از ابزارهای مدیریتی هاستینگ است. برای تهیه بکاپ وردپرس آسان تهیه و خرید هاست وردپرس توصیه میشود.
در نهایت، داشتن یک استراتژی منظم برای بکاپگیری از سایت وردپرس میتواند به شما کمک کند تا از بروز مشکلات احتمالی جلوگیری کنید و آرامش خاطر داشته باشید.
اهمیت تهیه بکاپ وردپرس
تهیه بکاپ از سایت وردپرس یکی از مهمترین کارهایی است که هر مدیر سایتی باید به آن توجه کند. اهمیت این اقدام به دلایل زیر قابل توضیح است:
- حفاظت از دادهها: دادهها و اطلاعات سایت شما ممکن است به دلایل مختلفی از جمله حملات سایبری، خطاهای انسانی، خرابی سرور، یا مشکلات نرمافزاری از بین بروند. بکاپگیری منظم از اطلاعات سایت شما به شما این امکان را میدهد که در صورت بروز چنین مشکلاتی، به سرعت دادههای خود را بازیابی کنید.
- کاهش زمان و هزینه: در صورتی که سایت شما دچار مشکل شود و اطلاعات آن از بین برود، بازیابی آن بدون بکاپ ممکن است زمانبر و هزینهبر باشد. با داشتن یک بکاپ، میتوانید در زمان کمتری سایت خود را به حالت اولیه برگردانید.
- افزایش امنیت: بکاپگیری میتواند به عنوان یک اقدام امنیتی در برابر حملات بدافزاری یا هک کردن سایت عمل کند. اگر سایت شما به خطر بیفتد، با داشتن یک بکاپ میتوانید به راحتی به وضعیت قبلی بازگردید.
- تست و توسعه: بکاپها میتوانند به شما کمک کنند تا تغییرات جدید را با خیال راحت آزمایش کنید. قبل از هرگونه تغییر بزرگ، میتوانید از نسخه فعلی سایت خود بکاپ بگیرید و سپس تغییرات را اعمال کنید. در صورت بروز مشکل، میتوانید به راحتی به نسخه قبلی برگردید.
- اطمینان از عملکرد بهینه: در برخی موارد، ممکن است به دلیل بروزرسانیهای غیرمؤثر یا مشکلات در پلاگینها، سایت شما دچار اختلال شود. با داشتن بکاپ، میتوانید به راحتی مشکلات را شناسایی و برطرف کنید.
در نهایت، تهیه بکاپ منظم از سایت وردپرس یک اقدام ضروری است که به حفظ و نگهداری اطلاعات و عملکرد سایت کمک میکند و به شما این امکان را میدهد که با اطمینان بیشتری به مدیریت سایت خود بپردازید.
تفاوت میان بکاپ ها: کامل، دیتابیس و بکاپ فایلها
در فرآیند پشتیبانگیری، سه نوع اصلی بکاپ وجود دارد که درک دقیق آنها، اساس طراحی یک استراتژی اصولی است.
۱. بکاپ کامل یا Full Backup شامل تمام اجزای سایت میشود: پایگاه داده (MySQL)، فایلهای وردپرس، تصاویر، افزونهها، قالبها و تنظیمات سرور. این نوع بکاپ سنگینترین و کاملترین نسخه محسوب میشود که در هنگام بازیابی، سایت را بهطور کامل به حالت سابق باز میگرداند.
۲. بکاپ از دیتابیس تنها شامل اطلاعات متنی و ساختار داخلی سایت است؛ مانند پستها، صفحات، اطلاعات کاربران، تنظیمات قالب و افزونهها. دیتابیس قلب سایت وردپرسی محسوب میشود اما بدون همراهی فایلها، ظاهر سایت و عملکرد آن ناقص خواهد بود.
۳. بکاپ از فایلها نیز فقط پوشههای فیزیکی سایت شامل wp-content، قالبها، افزونهها و تصاویر را شامل میشود. این روش برای حفاظت از کدها و ظاهر سایت مؤثر است ولی بدون دیتابیس، امکان بازیابی محتوای متنی و ساختار داخلی وجود ندارد.
در بیشتر پروژهها، ترکیب این سه روش و برنامهریزی منظم برای بکاپگیری بهترین نتیجه را ایجاد میکند؛ مثلاً بکاپ روزانه از دیتابیس و بکاپ هفتگی از کل فایلها، امنیت دادههای شما را تضمین میکند. برای افزایش امنیت و کارایی سایت، توصیه میشود علاوه بر بکاپگیری منظم، به بهینهسازی تصاویر وردپرس نیز توجه داشته باشید تا سرعت و عملکرد سایت شما همیشه در سطح مطلوب باقی بماند.
مزایای تهیه بکاپ وردپرس

تهیه بکاپ (پشتیبان) برای وبسایتهای وردپرسی یکی از مهمترین اقداماتی است که هر مدیر سایتی باید انجام دهد. در زیر به برخی از مزایای تهیه بکاپ وردپرس اشاره میکنیم:
- حفاظت در برابر از دست دادن دادهها: یکی از اصلیترین مزایای بکاپگیری، جلوگیری از از دست رفتن اطلاعات است. در صورتی که به هر دلیلی مانند حمله هکرها، خرابی سرور، یا اشتباهات انسانی اطلاعات سایت شما حذف شود، با داشتن یک بکاپ میتوانید به راحتی آنها را بازیابی کنید.
- بازگردانی به وضعیت قبلی: اگر بعد از انجام تغییرات یا بروزرسانیها، مشکلاتی در سایت به وجود آید، با داشتن بکاپ میتوانید سایت خود را به وضعیت قبلی برگردانید و از بروز مشکلات بیشتر جلوگیری کنید.
- حفاظت در برابر مشکلات فنی: گاهی اوقات مشکلات فنی و بروز خطاها در کدها یا افزونهها میتواند باعث ایجاد اختلال در عملکرد سایت شود. با یک بکاپ میتوانید سریعاً به وضعیت عملکردی قبلی بازگردید.
- کمک به سئو: داشتن یک سایت پایدار و بدون خطا به بهبود سئو سایت و تجربه کاربری کمک میکند. با بکاپگیری منظم، از بروز مشکلات غیرمنتظره جلوگیری میشود که میتواند به سئو سایت آسیب بزند.
- آسانی در انتقال سایت: اگر بخواهید سایت خود را به یک سرور جدید منتقل کنید یا دامنهتان را تغییر دهید، داشتن بکاپ کامل از سایت کار را بسیار آسانتر میکند.
- اطمینان خاطر: با داشتن یک برنامه منظم برای بکاپگیری، میتوانید با اطمینان بیشتری به مدیریت سایت خود بپردازید و از هرگونه نگرانی در مورد از دست رفتن اطلاعات کاسته شود.
- صرفهجویی در زمان و هزینه: اگر سایت شما بهدلیل عدم بکاپگیری دچار مشکل شود، ممکن است نیاز به هزینههای اضافی برای بازیابی اطلاعات یا تعمیرات داشته باشید. با تهیه منظم بکاپ، میتوانید از این هزینهها جلوگیری کنید.
- استفاده از افزونههای متنوع: بسیاری از افزونههای بکاپگیری وردپرس، امکانات و قابلیتهای پیشرفتهای را ارائه میدهند که میتوانند فرایند بکاپگیری را ساده و کارآمد کنند.
با توجه به این مزایا، تهیه بکاپ برای وبسایتهای وردپرسی به عنوان یک اقدام ضروری و حیاتی شناخته میشود.
بهترین زمان تهیه بکاپ سایت وردپرسی

تهیه بکاپ از سایت وردپرسی باید به طور منظم و در زمانهای خاص انجام شود تا اطمینان حاصل شود که اطلاعات و دادههای سایت شما همیشه در دسترس هستند. در زیر، بهترین زمانها برای تهیه بکاپ از سایت وردپرسی آورده شده است:
- قبل از هرگونه تغییرات بزرگ: هر زمان که قصد دارید تغییرات عمدهای در سایت انجام دهید، مانند بهروزرسانی هسته وردپرس، نصب یا حذف افزونهها، یا تغییر تم، حتماً از سایت خود بکاپ بگیرید. این کار به شما این امکان را میدهد که در صورت بروز مشکل، به نسخه قبلی بازگردید.
- بهروزرسانیهای منظم: توصیه میشود که پس از هر بار بهروزرسانی وردپرس، افزونهها یا تمها، بکاپ تهیه کنید. این به ویژه در مواقعی که بهروزرسانیها شامل ویژگیهای جدید یا تغییرات اساسی هستند، مهم است.
- ایجاد محتوای جدید: اگر به طور منظم محتواهای جدید (مانند پستها یا صفحات) را به سایت خود اضافه میکنید، بهتر است بعد از هر بار افزودن محتوای مهم، بکاپ بگیرید.
- پیش از انجام هرگونه آزمایش: اگر میخواهید ویژگیهای جدیدی را آزمایش کنید یا تغییرات طراحی انجام دهید، قبل از شروع این کار بکاپ بگیرید. این به شما این امکان را میدهد که در صورت بروز مشکل، به وضعیت قبلی بازگردید.
- به طور منظم (هفتگی یا ماهانه): حتی اگر تغییرات عمدهای در سایت انجام نمیدهید، پیشنهاد میشود که بکاپهای منظم (هفتگی یا ماهانه) از سایت تهیه کنید. این کار اطمینان میدهد که در صورت بروز مشکلات غیرمنتظره، اطلاعات شما در دسترس باشد.
- قبل از تغییرات در هاست: اگر تصمیم دارید که هاست خود را تغییر دهید یا با خرید هاست جدید سایت خود را به یک سرور جدید منتقل کنید، حتماً از تمامی اطلاعات و دادههای خود بکاپ بگیرید.
نکته:
بهتر است که بکاپها در مکانهای مختلف ذخیره شوند، به عنوان مثال، در فضای ابری (مثل Google Drive یا Dropbox)، یا در دستگاههای سختافزاری خارج از سرور. این کار از از دست رفتن دادهها در صورت خرابی سرور یا مشکلات دیگر جلوگیری میکند.
3 روش برای گرفتن بکاپ وردپرس
گرفتن بکاپ از سایت وردپرس میتواند به روشهای مختلفی انجام شود. در ادامه سه روش متداول برای تهیه بکاپ از وردپرس آورده شده است:
- استفاده از افزونههای بکاپگیری: یکی از سادهترین و مؤثرترین روشها برای تهیه بکاپ از سایت وردپرسی، استفاده از افزونههای مخصوص این کار است. افزونههایی مانند UpdraftPlus، BackupBuddy و Duplicator امکان بکاپگیری خودکار از فایلها و پایگاه داده را فراهم میکنند. با نصب این افزونهها، میتوانید زمانبندی دلخواهی برای بکاپگیری تنظیم کرده و حتی بکاپهای خود را به فضای ابری مانند Google Drive یا Dropbox منتقل کنید.
- گرفتن بکاپ به صورت دستی: اگر به کار با فایلها و پایگاه دادههای سایت خود آشنایی دارید، میتوانید بهصورت دستی از سایت بکاپ تهیه کنید. برای این کار، ابتدا باید با استفاده از FTP (مانند FileZilla) به سرور خود متصل شده و تمامی فایلهای موجود در پوشه WordPress را دانلود کنید. سپس، با استفاده از phpMyAdmin، یک بکاپ از پایگاه داده وردپرس خود بگیرید. این روش برای کاربران حرفهای مناسبتر است.
- استفاده از خدمات هاستینگ: بسیاری از شرکتهای هاستینگ امکاناتی برای بکاپگیری از سایتهای وردپرسی ارائه میدهند. معمولاً این خدمات به صورت خودکار انجام میشوند و میتوانید به راحتی از طریق کنترل پنل هاست خود به بکاپها دسترسی پیدا کنید. بررسی کنید که آیا ارائهدهنده هاست شما این امکان را فراهم میکند یا خیر و اگر چنین است، از آن بهرهبرداری کنید تا از دادههای سایت خود محافظت کنید. همچنین استفاده از خدمات پشتیبانی وردپرس بعضی شرکت ها همچون وبرمز توصیه میشود.
معرفی بهترین افزونه های بک آپ وردپرس
1- افزونه BackupBuddy
BackupBuddy یکی از قدیمیترین افزونههای پشتیبانگیری است. از سال 2010 با ما بوده و هنوز هم قوی است. این افزونه شامل ویژگی های غنی است که میتواند از وب سایت وردپرس شما، از جمله تمام فایلها و دارایی ها، نسخه پشتیبان تهیه کند.
این افزونه پشتیبانگیری خودکار برنامهریزیشده را ارائه میکند و میتواند آنها را در مکانی که انتخاب میکنید ذخیره کند. مهمتر از همه، BackupBuddy یک راه ساده برای بازیابی سریع وب سایت در صورت نیاز ارائه میدهد. همه ویژگیها از یک داشبورد ساده کنترل میشود.
مزایای BackupBuddy
- بک آپ گیری کامل از وب سایت شامل فایلها و رسانه ها
- تهیه نسخه پشتیبان برنامه ریزی شده برای امنیت دستی
- بازیابی ساده از پشتیبان گیری
- پشتیبانی از ذخیره سازی از راه دور
- ویژگی های اعلان ایمیل
معایب BackupBuddy
- دارای نسخه رایگان نیست
- نسخه حق بیمه آن گران است
2- افزونه WPvivid Backup Pro

افزونه WPvivid به شما این امکان را میدهد که به سرعت و به راحتی نسخه پشتیبان، بازیابی و مهاجرت را اجرا کنید. میتوانید فرآیند بک آپ گرفتن را خودکار کنید، با یک کلیک بازیابی کنید و از ابر برای ذخیره سازی استفاده کنید.
این افزونه یک پلاگین عالی است، شامل یک نسخه آزمایشی رایگان برای کاربران جدید و نسخه پریمیوم، WPvivid Backup Pro، با گزینه های سفارشی سازی بسیار بیشتر میباشد. این افزونه شامل ویژگی هایی است که به شما این امکان را میدهد که سایت های مرحله بندی ایجاد کنید، پشتیبان گیری افزایشی انجام دهید و فقط بخش ها/ویژگی های خاصی را بر اساس نقش های کاربر نمایش دهید.
مزایای WPVivid
- گرفتن بک آپ خودکار برنامه ریزی شده را ارائه میدهد
- از مهاجرت وب سایت پشتیبانی میکند
- به ایجاد یک محیط ساده برای سایت شما کمک میکند
- تهیه نسخه پشتیبان افزایشی ارائه میدهد
- به بکاپ گیری از شبکه های چند سایتی کمک میکند
معایب WPVivid
- از پشتیبان گیری بلادرنگ پشتیبانی نمیکند
3- افزونه JetPack

Jetpack احتمالاً شناخته شده ترین افزونه در این لیست است و یکی از پرطرفدارترین پلاگین های وردپرس به شمار می رود. یکی از بنیانگذاران وردپرس این افزونه پشتیبان را با تیم خود در Automattic توسعه داده است.
این افزونه مزایای زیادی ارائه میدهد، اما چیزی که آن را برجسته میکند، ویژگی های بک آپ گیری آن است. پشتیبانگیری خودکار در زمان واقعی دریافت میکنید، و همچنین اگر به سایر خدمات آن نیاز دارید، این افزونه عالی است.
مزایای JetPack
- امکان گرفتن بکاپ به صورت خودکار
- بازیابی سریع را فراهم میکند
- تهیه نسخه پشتیبان بلادرنگ
- پشتیبانی پاسخگو از مشتری را ارائه میدهد
- دارای هزاران ویژگی دیگر وردپرس است
معایب JetPack
- بیشتر ویژگیها فقط با طرح پولی ارائه میشوند
4- افزونه BlogVault

BlogVault ادعا میکند که 100٪ درصد موفقیت با بازیابی وب سایت است و میگوید که این سریع ترین افزونه برای تهیه بکاپ است. نسخه رایگان به شما پشتیبان گیری افزایشی، فضای ذخیره سازی ابری و حتی یک محیط مرحله بندی با یک کلیک را میدهد.
این افزونه ارزش بررسی را دارد زیرا نزدیک به نیم میلیون سایت با این افزونه پشتیبانگیری شدهاند. آنها همچنین پشتیبانی سفارشی را در صورت بروز هرگونه مشکل یا سؤال ارائه میدهند.
مزایای BlogVault
- این افزونه به بکاپ گیری و بازیابی آسان وب سایتها کمک میکند
- از شبکه های چند سایتی پشتیبانی میکند
- از مرحله بندی و مهاجرت وب سایت پشتیبانی میکند
- این افزونه وب سایت را کنترل میکند و در صورت بروز هرگونه مشکل هشدار میدهد
- از بک آپ ابری پشتیبانی میکند
معایب BlogVault
- پشتیبان گیری جزئی نمیگیرد
- این افزونه فقط شامل ابری است و از بک اپ گیری محلی پشتیبانی نمیکند
5- افزونه UpdraftPlus

UpdraftPlus یکی از محبوب ترین و کارآمدترین افزونه ها برای تهیه نسخه بکاپ است. حتی نسخه رایگان نیز کار بسیار خوبی را انجام میدهد. ویژگی های زیادی مانند گرفتن بک آپ به صورت خودکار برنامه ریزی شده، ذخیره سازی ابری و پشتیبان گیری کامل را ارائه میدهد.
نسخه پریمیوم بسیاری از ویژگیهای دیگر مانند پشتیبانگیری افزایشی، پشتیبانی مشتری، چندین مقصد ذخیرهسازی ابری، مهاجرت وبسایت و بسیاری موارد دیگر را باز میکند.
مزایای UpdraftPlus
- این افزونه به شما این امکان را میدهد که یک نسخه پشتیبان کامل از سایت خود تهیه کنید
- شما میتوانید آن نسخه پشتیبان را روی ابر یا رایانه خود ذخیره کنید
- این افزونه میتواند برنامه ریزی شده و فوری بک آپ را انجام دهد
- میتوانید انتخاب کنید از کدام فایلها نسخه پشتیبان تهیه شود
- به سرعت نسخه های پشتیبان را از پنل مدیریت بازیابی کنید
معایب UpdraftPlus
-
- بک آپ بلادرنگ ارائه نمیدهد
- برای چندین مجوز دامنه گران میشود
آموزش نوشتن اسکریپت Bash برای بکاپ در لینوکس
برای کاربرانی که از VPS لینوکسی یا خدمات مدیریت سرور استفاده میکنند، بکاپگیری با Bash یکی از امنترین و سریعترین روشهاست. این روش، با یک اسکریپت ساده، امکان بکاپگیری منظم، فشردهسازی فایلها، و حتی ارسال بکاپ به فضای ابری را فراهم میکند.
گام اول: پیشنیازها
قبل از شروع اسکریپتنویسی، باید موارد زیر را داشته باشید:
دسترسی SSH و sudo روی سرور
محل نصب وردپرس مشخص باشد (مثلاً /var/www/html)
اطلاعات دیتابیس را بدانید (نام دیتابیس، نام کاربری، رمز عبور)
گام دوم: ساخت ساختار اسکریپت
فایل bash را در مسیر دلخواه (مثلاً /root/scripts/backup_wp.sh) ایجاد کنید:
nano /root/scripts/backup_wp.sh
و حالا اسکریپت زیر را داخل آن بنویسید:
#!/bin/bash # متغیرها DATE=$(date +"%Y-%m-%d_%H-%M") BACKUP_DIR="/backup/wordpress" WEB_DIR="/var/www/html" DB_NAME="your_db_name" DB_USER="your_db_user" DB_PASS="your_db_password"
# ایجاد پوشه بکاپ (در صورت نبود)
mkdir -p $BACKUP_DIR
# بکاپ دیتابیس
mysqldump -u $DB_USER -p$DB_PASS $DB_NAME > $BACKUP_DIR/db_$DATE.sql
# بکاپ فایلها
tar -czf $BACKUP_DIR/files_$DATE.tar.gz $WEB_DIR
# حذف بکاپهای قدیمیتر از 7 روز
find $BACKUP_DIR -type f -mtime +7 -delete
حتماً DB_NAME، DB_USER و DB_PASS رو با اطلاعات واقعی دیتابیس سایتت جایگزین کن.
گام سوم: تنظیم دسترسی و زمانبندی
فایل اسکریپت رو قابل اجرا کن:
chmod +x /root/scripts/backup_wp.sh
و برای اجرای روزانه در ساعت ۲ بامداد، این خط رو به crontab اضافه کن:
crontab -e 0 2 * * * /root/scripts/backup_wp.sh
زمانبندی خودکار بکاپ با Cronjob در لینوکس
وقتی با استفاده از Bash از سایت وردپرسی خود بکاپ میگیرید، مرحله بعدی، اتوماتسازی این فرایند با ابزار Cron است. Cron یک سرویس داخلی در لینوکس است که به شما اجازه میدهد تا دستورات یا اسکریپتهایی را در زمانهای مشخص بهصورت خودکار اجرا کنید. این یعنی بدون نیاز به ورود دستی، سیستم طبق برنامهریزی شما بکاپگیری انجام میدهد و همیشه یک نسخه جدید و سالم از سایت در اختیار دارید.
ساختار Cronjob
یک Cronjob از پنج قسمت زمانی تشکیل شده و سپس مسیر فرمان یا اسکریپت را مشخص میکند:
* * * * * command_to_execute │ │ │ │ │ │ │ │ │ └──── روز هفته (۰ تا ۶ یا Sunday تا Saturday) │ │ │ └────── ماه (۱ تا ۱۲) │ │ └──────── روز ماه (۱ تا ۳۱) │ └────────── ساعت (۰ تا ۲۳) └──────────── دقیقه (۰ تا ۵۹)
مثال برای بکاپ روزانه در ساعت ۲ صبح:
فرض کنیم اسکریپت بکاپ شما در مسیر /root/scripts/backup_wp.sh قرار دارد، دستور زمانبندی بهصورت زیر خواهد بود:
0 2 * * * /root/scripts/backup_wp.sh >> /var/log/wp_backup.log 2>&1
این خط یعنی:
هر روز ساعت ۲:۰۰ بامداد → اسکریپت اجرا شود
و خروجیها (شامل ارورها) در فایل لاگ ذخیره شود.
افزودن به crontab
برای تنظیم کرانجاب، دستور زیر را در ترمینال وارد کنید:
crontab -e
سپس خط بالا را در انتهای فایل قرار دهید و ذخیره کنید. حالا بکاپگیری شما بدون نیاز به دخالت انسانی، در زمان مشخص انجام خواهد شد.
زمانبندی خودکار بکاپ با Cronjob در سرور لینوکسی
پس از نگارش اسکریپت Bash برای انجام فرآیند بکاپگیری، مرحله بعدی، برنامهریزی و اجرای خودکار آن است. این کار در سیستمعاملهای لینوکس با استفاده از سرویس Cron انجام میشود. Cron یک زمانبند داخلی است که اجازه میدهد فرمانها یا اسکریپتها در زمانهای مشخص اجرا شوند؛ بهعنوان مثال، اجرای روزانه یک بکاپ در ساعت ۲ بامداد. برای اجرای این اسکریپ های نیاز به تهیه سرور اختصاصی یا خرید vps سرور مجازی دارید.
برای تنظیم این زمانبندی، ابتدا با وارد کردن دستور crontab -e در محیط SSH، وارد ویرایشگر زمانبندی میشوید. سپس خط زمانبندی دلخواه را اضافه میکنید. برای نمونه:
0 2 * * * /home/user/scripts/backup_wp.sh >> /var/log/wp_backup.log 2>&1
این دستور مشخص میکند که فایل backup_wp.sh هر روز رأس ساعت ۲ صبح اجرا شود و گزارش عملکرد آن در فایل wp_backup.log ذخیره گردد. پیشنهاد میشود بخشی از اسکریپت به پاکسازی نسخههای قدیمی اختصاص یابد تا مانع از اشغال بیشازحد فضای سرور شود. همچنین، میتوان تنظیماتی برای ارسال ایمیل هشدار یا لاگ عملیات در صورت بروز خطا نیز در نظر گرفت تا مدیر سایت همواره در جریان وضعیت بکاپها باشد.
فشردهسازی فایلهای وردپرس و پایگاه داده برای بهینهسازی فضای بکاپ
یکی از مهمترین مراحل در فرآیند بکاپگیری، فشردهسازی فایلهاست. این کار با هدف کاهش حجم فایلهای پشتیبان، تسریع در انتقال به فضای ابری و بهینهسازی مصرف فضای ذخیرهسازی انجام میشود. رایجترین ابزارها برای این کار، tar و gzip هستند که در اکثر توزیعهای لینوکس بهصورت پیشفرض وجود دارند.
برای فشردهسازی فایلهای وردپرس، کافیست از دستور زیر استفاده شود:
tar -czf wp_files_$(date +%F).tar.gz /var/www/html
این فرمان، تمامی محتوای دایرکتوری /var/www/html را در قالب یک فایل فشرده با پسوند .tar.gz ذخیره میکند.
برای بکاپ دیتابیس، ابتدا با استفاده از mysqldump فایل خروجی پایگاه داده را ایجاد کرده، سپس آن را فشردهسازی میکنید:
mysqldump -u root -p database_name > db.sql gzip db.sql
این فرآیند، فایل SQL خروجی را با پسوند .gz ذخیره میکند که بهطور چشمگیری حجم آن را کاهش میدهد. توصیه میشود پیش از فشردهسازی، صحت فایلهای خروجی بررسی شود تا از ثبت نسخههای ناقص جلوگیری شود. همچنین برای اطمینان بیشتر، میتوان رمزنگاری فایل فشرده را نیز در نظر گرفت.
انتقال نسخههای بکاپ به Google Drive یا Amazon S3 با اسکریپت
ذخیرهسازی فایلهای بکاپ بر روی همان سرور، در برابر خطراتی نظیر خرابی سختافزار یا نفوذ امنیتی مصون نیست. برای افزایش ضریب اطمینان، میتوان از سرویسهای ابری مانند Google Drive یا Amazon S3 برای ذخیرهسازی نسخههای بکاپ استفاده کرد.
برای انتقال بکاپ به Google Drive، ابزار rclone گزینهای بسیار قدرتمند و چندمنظوره است که از بیش از ۵۰ سرویس ابری پشتیبانی میکند. پس از پیکربندی اولیه، دستور زیر برای انتقال فایل مورد استفاده قرار میگیرد:
rclone copy /path/to/backup.tar.gz gdrive:wordpress_backups
در صورتی که قصد استفاده از Amazon S3 را دارید، ابزار AWS CLI راهکار پیشنهادی است. پس از انجام پیکربندی اولیه، دستور زیر فایل را در باکت مورد نظر آپلود میکند:
aws s3 cp backup.tar.gz s3://your-bucket-name
پیشنهاد میشود پیش از ارسال، فایلهای بکاپ رمزنگاری شوند تا در صورت افشای لینک یا نفوذ، اطلاعات سایت محفوظ باقی بماند. همچنین، میتوان فرآیند انتقال را نیز در یک Cronjob جداگانه زمانبندی کرد تا بهصورت خودکار در زمان مشخصی انجام شود.
نحوه فشردهسازی فایلهای وردپرس و دیتابیس
برای کاهش حجم و افزایش سرعت انتقال بکاپ، فشردهسازی فایلها ضروریست. رایجترین ابزار برای این کار tar و gzip هستند. برای فایلهای وردپرس، میتوان از دستور زیر استفاده کرد:
tar -czf wp_files_$(date +%F).tar.gz /var/www/html
برای بکاپ دیتابیس، ابتدا mysqldump انجام شده و سپس فایل SQL ایجادشده فشرده میشود:
mysqldump -u root -p database_name > db.sql gzip db.sql
این روش باعث کاهش چشمگیر حجم بکاپ میشود و فضای ذخیرهسازی را بهینه میکند. همچنین انتقال به فضای ابری یا هاست دیگر با سرعت بیشتری انجام خواهد شد. فشردهسازی باید پس از اطمینان از صحت فایلها انجام شود تا از بکاپهای ناقص جلوگیری شود.
ارسال بکاپ به Google Drive یا S3 با اسکریپت
برای حفاظت از بکاپها، نباید فقط روی همان سرور ذخیره شوند. میتوان با اسکریپت Bash، نسخههای بکاپ را به Google Drive یا Amazon S3 منتقل کرد. برای Google Drive، ابزار rclone پیشنهاد میشود که قابلیت اتصال به بیش از ۵۰ سرویس ابری را دارد. پس از کانفیگ اولیه، با دستور زیر بکاپ را انتقال میدهید:
rclone copy /path/to/backup.tar.gz gdrive:wordpress_backups
در Amazon S3 نیز با ابزار AWS CLI میتوان بکاپ را با دستور زیر آپلود کرد:
aws s3 cp backup.tar.gz s3://your-bucket-name
برای امنیت بیشتر، پیشنهاد میشود فایلها پیش از ارسال رمزنگاری شوند. همچنین میتوان انتقال فایلها را نیز در Cronjob زمانبندی کرد.
نحوه بکاپگیری با کنترلپنل cPanel
در cPanel، بکاپگیری بهصورت گرافیکی و ساده امکانپذیر است. پس از ورود به cPanel، به بخش Backup یا Backup Wizard بروید. در اینجا میتوانید Full Backup یا Partial Backup بگیرید. Full Backup شامل تمام فایلها، دیتابیس، ایمیلها و تنظیمات میشود.
برای وردپرس، بهتر است حداقل دو بخش را بکاپ بگیرید: Home Directory (فایلهای وردپرس) و MySQL Databases. فایل بکاپ معمولاً بهصورت فشرده ذخیره میشود و میتوانید آن را دانلود کرده یا به یک FTP دیگر ارسال کنید.
اگر cPanel از JetBackup پشتیبانی کند، میتوانید از امکانات بکاپ زمانبندیشده و بازگردانی یککلیک استفاده کنید. این روش برای کاربران غیرتکنیکال مناسبتر است. همیشه قبل از بهروزرسانی وردپرس، از این بخش بکاپ تهیه کنید.
آموزش بکاپگیری در DirectAdmin برای وردپرس
DirectAdmin نیز مثل cPanel قابلیت بکاپ دارد، ولی مسیر آن متفاوت است. پس از ورود به داشبورد، به بخش Create/Restore Backups بروید. در اینجا میتوانید مشخص کنید چه اجزایی از سایت را میخواهید بکاپ بگیرید: فایلها، دیتابیس، ایمیلها و تنظیمات DNS.
پس از اجرای دستور بکاپ، فایل .tar.gz در مسیر backups در پوشهی home کاربر ذخیره میشود. برای وردپرس، حتماً فایلهای public_html و دیتابیس سایتتان را تیک بزنید. این فایل را میتوانید از File Manager دانلود کرده یا از طریق FTP انتقال دهید.
برای بازیابی نیز از همان بخش میتوان Restore را اجرا کرد. توصیه میشود بعد از هر تغییر عمده در سایت (مثل تغییر قالب یا نصب پلاگین جدید)، یک بکاپ دستی از طریق DirectAdmin گرفته شود.
بازیابی کامل سایت از بکاپ در مواقع اضطراری
فرض کنیم سایت شما دچار اختلال شده؛ فایلها حذف یا هک شدهاند. اولین قدم، استفاده از بکاپ برای بازیابی سریع است. اگر از افزونههایی مثل UpdraftPlus استفاده کرده باشید، کافیست وارد پیشخوان وردپرس شوید، به بخش Restore بروید و بکاپ موردنظر را انتخاب کنید.
در صورت استفاده از بکاپ دستی یا از طریق cPanel/DirectAdmin، ابتدا باید تمام فایلهای خراب را پاک کرده و سپس فایل .zip یا .tar.gz بکاپ را آپلود کرده و از حالت فشرده خارج کنید. در مرحله بعد، از طریق phpMyAdmin دیتابیس را درونریزی کنید.
اگر از SFTP یا SSH استفاده میکنید، میتوانید فایلها را با دستور scp یا rsync انتقال داده و با mysql دیتابیس را بازیابی کنید. در صورت هک شدن سایت، بهتر است فایلهای اصلی وردپرس را از منبع رسمی جایگزین کرده و فقط wp-content و wp-config.php را بازیابی کنید.
ذخیره امن بکاپ در مسیر خارج از public_html
یکی از اشتباهات رایج کاربران، ذخیره فایلهای بکاپ داخل public_html است؛ یعنی همان جایی که مرورگر و کاربران به آن دسترسی دارند. این کار میتواند باعث افشای اطلاعات، دانلود ناخواسته توسط رباتها، یا حتی هک شود.
برای حفظ امنیت، بکاپها را در مسیرهایی مثل /home/user/backups ذخیره کنید که در وبسرور در دسترس نیست. در VPS یا هاستهایی که SSH دارند، مسیرهای امن بیشتری در دسترس است و حتی میتوانید دسترسی را فقط برای کاربر root تنظیم کنید.
همچنین با استفاده از فایل .htaccess یا تنظیمات سرور، میتوان از دسترسی به فایلهای با پسوند .sql، .tar.gz یا .zip جلوگیری کرد. در هاست اشتراکی نیز، بهتر است فایل را بلافاصله پس از ساخت دانلود کرده و از روی سرور حذف کنید.
رمزنگاری بکاپ برای افزایش امنیت
یکی از راههای مهم برای جلوگیری از افشای اطلاعات، رمزنگاری فایلهای بکاپ است. بدون این کار، اگر فایل بکاپ بهدست افراد غیرمجاز بیفتد، تمام دیتابیس، پسوردها و ساختار سایت شما لو میرود. برای رمزنگاری در لینوکس، میتوان از ابزارهایی مثل gpg یا openssl استفاده کرد.
مثلاً برای رمزنگاری یک بکاپ با GPG:
gpg -c backup.tar.gz
و برای بازگشایی:
gpg backup.tar.gz.gpg
اگر از فضای ابری برای ذخیره استفاده میکنید (مثل Google Drive یا Dropbox)، رمزنگاری فایل قبل از آپلود اکیداً توصیه میشود. همچنین برای امنیت بیشتر، رمز عبور فایل را بهصورت جداگانه و آفلاین ذخیره کنید. افزونههایی مثل BlogVault Pro یا JetBackup در نسخههای پیشرفته خود امکان رمزنگاری بکاپ را نیز دارند.
بکاپ افزایشی (Incremental Backup) چیست؟
بکاپ کامل هر بار از ابتدا حجم زیادی تولید میکند، بهویژه در سایتهای بزرگ. راهحل حرفهایتر استفاده از بکاپ افزایشی (Incremental Backup) است. در این روش، در اولین بار یک بکاپ کامل گرفته میشود و در دفعات بعد فقط تغییرات جدید ذخیره میشوند. این کار باعث کاهش حجم، مصرف CPU و افزایش سرعت بکاپ میشود.
افزونههایی مانند UpdraftPlus Premium، BlogVault یا WP Time Capsule از این روش پشتیبانی میکنند. بکاپ افزایشی، برای سایتهایی که محتوای متغیر روزانه دارند (مثل فروشگاهها یا مجلات) بهترین گزینه است. همچنین در صورت نیاز به بازگردانی، میتوان نسخهای خاص از تاریخ موردنظر را بازیابی کرد.
ارسال هشدار ایمیل در صورت شکست بکاپ
یکی از خطرات بکاپگیری خودکار این است که ممکن است بکاپ ناموفق باشد و شما متوجه نشوید. برای جلوگیری از این وضعیت، باید هشدار ایمیلی در صورت موفق نبودن فرآیند تنظیم شود. در اسکریپتهای Bash میتوان از دستور mail یا sendmail برای ارسال ایمیل استفاده کرد:
if [ $? -ne 0 ]; then echo "Backup failed!" | mail -s "Backup Alert" your@email.com fi
برخی افزونههای بکاپگیری وردپرس نیز این قابلیت را دارند؛ بهخصوص WPvivid Pro و UpdraftPlus، که بهصورت خودکار وضعیت موفقیت یا شکست را به ایمیل مدیر سایت گزارش میدهند. این موضوع برای سایتهای حساس یک لایه امنیتی اضافه محسوب میشود.
نظارت خودکار بر سالم بودن فایل بکاپ
داشتن فایل بکاپ بهتنهایی کافی نیست—ممکن است فایل ناقص یا خراب باشد. بهترین روش، بررسی خودکار صحت فایل (integrity check) بعد از تولید آن است. در لینوکس میتوان از دستور md5sum یا sha256sum برای ساخت و بررسی هش استفاده کرد:
md5sum backup.tar.gz > backup.tar.gz.md5
و بعداً بررسی:
md5sum -c backup.tar.gz.md5
اگر هش مطابقت نداشت، یعنی فایل بکاپ خراب است و باید دوباره گرفته شود. برخی ابزارهای پیشرفته مثل rclone نیز هنگام ارسال فایل به فضای ابری، خودکار بررسی هش انجام میدهند. افزونههای حرفهای وردپرس هم گاهی قابلیت بررسی یکپارچگی فایل دارند، مخصوصاً در هنگام بازگردانی.
اشتباهات رایج در بکاپگیری از وردپرس
اگرچه داشتن فرآیند بکاپ منظم گامی بزرگ در افزایش پایداری وبسایت است، اما اشتباهاتی متداول وجود دارد که باعث میشود بکاپگیری عملاً بیاثر یا ناکارآمد باشد. نخستین اشتباه، ذخیره فایل بکاپ در همان سروری است که سایت اصلی نیز روی آن قرار دارد. این کار در صورت هک، خرابی هارد یا نفوذ باجافزار، میتواند منجر به از دست رفتن همزمان دادهها و بکاپ شود. راهحل، ذخیره نسخههای بکاپ در فضای ابری یا سرور ثانویه است.
اشتباه دوم، نبود فرآیند بازیابی تستشده است. بسیاری از مدیران سایت تصور میکنند فایل بکاپ کافی است، اما تا زمانی که آن فایل روی یک محیط آزمایشی ریاستور نشود، نمیتوان از صحت عملکرد آن مطمئن بود. در موارد زیادی، فایل بکاپ آسیبدیده، ناقص یا رمزنگاریشدهای که رمز آن فراموش شده، در مواقع بحران عملاً بلااستفاده است.
از دیگر اشتباهات رایج میتوان به استفاده از افزونههای غیراصلی یا منسوخشده اشاره کرد که ممکن است بکاپهای ناقص یا ناسازگار تولید کنند. همچنین برخی سایتها فقط از دیتابیس یا فقط از فایلها بکاپ میگیرند، که در هنگام بازیابی، سایت بهطور کامل بازسازی نخواهد شد. وابستگی به یک روش یا ابزار واحد، بدون مانیتورینگ نتایج اجرای بکاپ، نیز از اشتباهات حیاتی محسوب میشود که در صورت شکست فرآیند بکاپگیری، کاربر تا زمان نیاز متوجه آن نخواهد شد.
ترکیب افزونه و اسکریپت: راهکاری حرفهای
اگر بخواهیم یک سیستم بکاپگیری مطمئن و چندلایه برای وردپرس طراحی کنیم، بهترین راهکار، ترکیب هوشمند افزونهها و اسکریپتها است. افزونههای بکاپگیری وردپرس مانند UpdraftPlus یا WPvivid، گزینههایی ایدهآل برای کاربران غیرتخصصی هستند که میخواهند از داخل پیشخوان وردپرس فرآیند بکاپ را مدیریت کنند. این ابزارها رابط کاربری ساده، تنظیمات گرافیکی و اتصال به فضای ابری را فراهم میکنند.
در مقابل، اسکریپتهای Bash مستقل از وردپرس عمل میکنند و حتی اگر سایت بهطور کامل از دسترس خارج شده باشد، از طریق خط فرمان سرور قابل اجرا هستند. این ویژگی برای سایتهای حساس که نمیتوانند به سیستم مدیریت محتوا وابسته باشند، بسیار مهم است. با استفاده از Cronjob، این اسکریپتها در بازههای مشخص و بدون دخالت کاربر اجرا میشوند.
یک روش حرفهای، بکاپگیری از دیتابیس با افزونه وردپرس و بکاپ فایلها با اسکریپت Bash است. همچنین میتوان محل ذخیرهسازی متفاوت برای هر یک تعریف کرد: مثلاً نگهداری فایلهای بکاپ افزونه در Google Drive و ارسال خروجی اسکریپت به Amazon S3. این ساختار افزایش پایداری، تنوع در بازیابی، و کاهش ریسک از دست رفتن اطلاعات را به دنبال دارد.
جمع بندی
بکاپگیری از وردپرس یکی از مراحل حیاتی برای حفظ امنیت و جلوگیری از از دست دادن دادهها است. در سال 2025، افزونههایی مانند UpdraftPlus، BackupBuddy، Duplicator، WP Time Capsule و BackWPup به عنوان بهترین گزینهها شناخته میشوند. این افزونهها امکانات متنوعی از جمله بکاپگیری کامل، زمانبندی خودکار، ذخیرهسازی در فضای ابری و مهاجرت سایت را فراهم میکنند و با توجه به نیازهای مختلف کاربران، انتخابهای مناسبی برای حفظ اطلاعات سایتهای وردپرسی هستند.
با استفاده از این ابزارها، کاربران میتوانند بهراحتی از سایت خود بکاپ بگیرند و در صورت بروز مشکلات، به سرعت اطلاعات خود را بازگردانی کنند. انتخاب افزونه مناسب بر اساس ویژگیها و نیازهای خاص هر کاربر میتواند به حفظ امنیت و سلامت سایت کمک کند.
دیدگاهتان را بنویسید