سی پنل – آموزش دریافت فول بکاپ و نسخه پشتیبان دیتابیس
برای گرفتن فول بکاپ در سیپنل وارد بخش Backup (یا Backup Wizard) در دستهٔ Files شوید، گزینهٔ Download a Full Account Backup را انتخاب کنید، مقصد را روی Home Directory بگذارید و آدرس ایمیل خود را وارد کنید تا بعد از آماده شدن آرشیو خبردار شوید. خروجی یک فایل فشردهٔ tar.gz است که در پوشهٔ خانگی حساب شما ساخته میشود و باید آن را دانلود کرده و بیرون از همان سرور نگه دارید. اگر فقط به نسخهٔ پشتیبان دیتابیس نیاز دارید، لازم نیست سراغ فول بکاپ بروید؛ مسیر کوتاهترش را در ادامهٔ همین مقاله آوردهایم.
فول بکاپ در سیپنل چه چیزی را شامل میشود؟
فول بکاپ یک نسخهٔ کامل از وضعیت حساب هاست شماست، نه فقط فایلهای سایت. این آرشیو معمولاً شامل موارد زیر است:
- کل محتوای Home Directory؛ یعنی
public_htmlو همچنین فایلهایی که بیرون از مسیر عمومی نگه داشتهاید. - دیتابیسهای MySQL/MariaDB حساب بههمراه ساختار و دادهها.
- حسابهای ایمیل، فورواردرها و فیلترهای ایمیل.
- تنظیمات حساب مانند سابدامنهها، پارکدامنهها، کرانجابها و رکوردهای DNS مربوط به همان اکانت.
آنچه در فول بکاپ نیست، تنظیمات سطح سرور است؛ چیزهایی مثل پیکربندی وبسرور، نسخهٔ PHP در سطح سیستم یا گواهیهای نصبشده در لایهٔ سرور در اختیار مدیر سرور هستند و از داخل حساب کاربری تهیه نمیشوند.
تفاوت فول بکاپ و بکاپ جزئی
این تفاوت مهمترین نکتهای است که کاربران از آن غافل میشوند. در سیپنل دو مسیر جداگانه وجود دارد:
- فول بکاپ (Full Backup): همهچیز را در یک آرشیو جمع میکند، اما از داخل سیپنل قابل بازگردانی نیست. بازگردانی یک فول بکاپ کار مدیر سرور از طریق WHM است. این آرشیو بیشتر برای انتقال حساب به سرور دیگر یا نگهداری بلندمدت بهدرد میخورد.
- بکاپ جزئی (Partial Backup): شامل سه بخش مجزاست: Home Directory، هر دیتابیس بهصورت جداگانه، و فورواردرها و فیلترهای ایمیل. این نسخهها را میتوانید مستقیماً از همان صفحهٔ Backup در سیپنل آپلود و بازگردانی کنید.
پس اگر هدف شما «برگرداندن سریع سایت پس از یک تغییر اشتباه» است، بکاپ جزئی گزینهٔ عملیتری است؛ و اگر هدف «نگهداشتن یک نسخهٔ کامل و بایگانیشده» یا مهاجرت است، فول بکاپ را انتخاب کنید.
مسیر گامبهگام گرفتن فول بکاپ
- وارد سیپنل شوید و در بخش Files روی Backup کلیک کنید.
- در بخش Full Backup گزینهٔ Download a Full Account Backup را بزنید.
- در فیلد Backup Destination مقصد را انتخاب کنید. گزینهٔ پیشفرض Home Directory است؛ بسته به تنظیمات سرور ممکن است مقصدهای Remote FTP Server، حالت Passive آن یا Secure Copy (SCP) هم در دسترس باشد.
- در فیلد Email Address ایمیل خود را وارد کنید تا پس از پایان کار اطلاع بگیرید، یا گزینهٔ عدم ارسال ایمیل را انتخاب کنید.
- روی Generate Backup کلیک کنید. ساخت آرشیو یک فرایند پسزمینه است؛ بسته به حجم فایلها و دیتابیسها ممکن است از چند لحظه تا مدتی طول بکشد.
اگر ترجیح میدهید مرحلهبهمرحله پیش بروید، ابزار Backup Wizard دقیقاً همین کار را با یک رابط سادهتر انجام میدهد. در صورتی که به SSH حساب دسترسی دارید، همین عملیات از طریق فراخوانی UAPI با ماژول Backup و تابع fullbackup_to_homedir هم قابل اجراست که برای خودکارسازی مفید است.
آرشیو کجا ساخته میشود و چطور آن را دانلود کنیم؟
وقتی مقصد را Home Directory بگذارید، فایل خروجی در ریشهٔ پوشهٔ خانگی حساب ساخته میشود؛ یعنی یک سطح بالاتر از public_html. نام فایل الگویی شبیه backup-تاریخ_زمان_نامکاربری.tar.gz دارد تا نسخههای مختلف با هم اشتباه نشوند.
برای دریافت آن سه راه دارید: در همان صفحهٔ Backup روی نام فایل در فهرست بکاپهای آمادهٔ دانلود کلیک کنید؛ از File Manager فایل را انتخاب و Download بزنید؛ یا با یک کلاینت FTP/SFTP به حساب وصل شوید. برای آرشیوهای حجیم، FTP/SFTP معمولاً پایدارتر از دانلود مرورگری است؛ کار با SFTP برای انتقال ایمن فایل تفاوت آن با FTP ساده و مراحل اتصال را توضیح داده است.
یک نکتهٔ مهم: تا وقتی آرشیو در پوشهٔ خانگی است، فضای آن از سهمیهٔ دیسک حساب شما کم میشود. بعد از دانلود موفق و بررسی سالم بودن فایل، آن را از سرور حذف کنید تا فضای هاست بیدلیل پر نشود. در برخی سرورها امکان ساخت فول بکاپ توسط کاربر غیرفعال است یا برای حسابهای بسیار حجیم محدودیت گذاشته شده؛ این موضوع به سیاست هر ارائهدهنده بستگی دارد.
وقتی فقط به بکاپ دیتابیس نیاز دارید
بیشتر خرابیهای واقعی یک سایت دیتابیسیاند، نه فایلی: یک بهروزرسانی نیمهکاره، یک افزونهٔ بد، یا یک کوئری که اشتباه اجرا شده. در این موقعیتها گرفتن فول بکاپ از کل حساب اتلاف وقت و فضاست؛ فقط دیتابیس را بگیرید. سه راه دارید و هر سه معتبرند.
روش اول: از همان صفحهٔ Backup سیپنل
در صفحهٔ Backup، زیر بخش Partial Backups قسمتی با عنوان Download a MySQL Database Backup وجود دارد که فهرست دیتابیسهای حساب شما را نشان میدهد. کافی است روی نام دیتابیس کلیک کنید تا فایل .sql.gz آن ساخته و دانلود شود. این سادهترین و مطمئنترین روش است، چون خروجی سمت سرور تولید میشود و به محدودیتهای PHP و مرورگر برنمیخورد. همین فایل بعداً از بخش Restore a MySQL Database Backup در پایین همان صفحه قابل بازگردانی است.
روش دوم: با phpMyAdmin
اگر میخواهید فقط چند جدول خاص را بگیرید یا روی جزئیات خروجی کنترل داشته باشید، phpMyAdmin انتخاب بهتری است:
- وارد سیپنل شوید و در دستهٔ Databases روی phpMyAdmin کلیک کنید.
- از پنل ناوبری کنار صفحه، دیتابیس موردنظر را از فهرست دیتابیسها انتخاب کنید.
- به تب Export بروید.
- در Export method حالت Quick را بگذارید تا همهٔ جدولها با تنظیمات پیشفرض گرفته شوند، یا Custom را انتخاب کنید تا بتوانید جدولها را دستی تیک بزنید و فشردهسازی
gzipرا فعال کنید. - Format را روی SQL بگذارید و دکمهٔ Export را بزنید (در نسخههای قدیمیتر phpMyAdmin این دکمه Go نام داشت). فایل
.sqlروی رایانهٔ شما دانلود میشود.
در حالت Custom گزینهای به نام Add DROP TABLE هم میبینید. این گزینه را فقط وقتی فعال کنید که میدانید فایل را روی همان دیتابیس برمیگردانید: با فعال بودن آن، فایل خروجی هنگام وارد شدن ابتدا جدولهای همنام مقصد را حذف میکند. اگر همان فایل را اشتباهی روی دیتابیس دیگری اجرا کنید، دادههای آن دیتابیس از بین میرود.
اگر با آموزشهای قدیمی کار کردهاید، ممکن است دنبال لینک آبیرنگ Select All و تیک Save as File بگردید. رابط phpMyAdmin از آن زمان عوض شده است: در حالت Quick اصلاً فهرست جدولها نمایش داده نمیشود و همهٔ جدولها بهصورت خودکار گرفته میشوند؛ انتخاب دستی جدولها بههمراه کلیدهای انتخاب و لغو انتخاب همه، فقط در حالت Custom دیده میشود. تیک Save as File هم جای خود را به دو گزینهٔ رادیویی در بخش Output داده است: نمایش خروجی بهصورت متن، یا ذخیرهٔ آن در یک فایل که حالت پیشفرض است.
محدودیت این روش: دیتابیسهای بزرگ ممکن است بهخاطر مهلت اجرای PHP یا محدودیت حافظه نیمهکاره خارج شوند. اگر خروجی مشکوک به ناقص بودن است، سراغ روش اول یا سوم بروید.
روش سوم: mysqldump از طریق SSH
اگر روی حساب یا سرور خود دسترسی SSH دارید، سریعترین و قابلاعتمادترین راه برای دیتابیسهای حجیم این است:
mysqldump -u DBUSER -p DBNAME > ~/DBNAME-backup.sql
پس از زدن Enter، رمز کاربر دیتابیس پرسیده میشود. رمز را جلوی -p در خود دستور ننویسید؛ در این حالت رمز هم در تاریخچهٔ شل ذخیره میشود و هم برای کاربران دیگر سرور قابل دیدن است. این دستور فقط میخواند و چیزی را تغییر نمیدهد.
و برای بازگرداندن همان فایل:
mysql -u DBUSER -p DBNAME < ~/DBNAME-backup.sql
این دستور برخلاف قبلی خطرناک است و برگشتپذیر نیست: محتوای فایل روی دیتابیس مقصد اجرا میشود و دادههای فعلی را بازنویسی میکند یا با آنها تداخل پیدا میکند. پیش از اجرا، نام دیتابیس مقصد را دوباره بخوانید و حتماً یک mysqldump تازه از وضعیت فعلی همان دیتابیس بگیرید. دیتابیس مقصد هم باید از قبل وجود داشته باشد؛ دستور mysql آن را نمیسازد.
دقت کنید که در سیپنل نام دیتابیس و نام کاربر دیتابیس هر دو با نام کاربری حساب پیشوند میخورند؛ یعنی چیزی شبیه user_wpdb و user_wpuser. همان نام کامل را در دستور بنویسید، نه نام کوتاهی که موقع ساخت وارد کردهاید.
بازگردانی: چه چیزی را خودتان میتوانید برگردانید
در صفحهٔ Backup، بخش Restore اجازه میدهد نسخههای جزئی را آپلود و بازیابی کنید: فایل Home Directory، فایل دیتابیس و فایل فورواردر/فیلتر ایمیل. کافی است فایل مربوطه را انتخاب و Upload کنید.
برای بازگرداندن یک فایل .sql از طریق phpMyAdmin هم مسیر ساده است: دیتابیس مقصد را انتخاب کنید، به تب Import بروید، فایل را انتخاب و اجرا کنید. دو نکته اینجا مهم است؛ اول اینکه دیتابیس مقصد باید از قبل وجود داشته باشد (در غیر این صورت ابتدا از بخش MySQL Databases دیتابیس و کاربر را بسازید و به کاربر دسترسی بدهید)، و دوم اینکه حجم فایل قابل آپلود در phpMyAdmin به تنظیمات PHP سرور محدود است؛ برای فایلهای بزرگ از بخش Restore خود سیپنل یا از دستور mysql در SSH استفاده کنید.
اما برای بازگردانی یک فول بکاپ باید آرشیو را در اختیار مدیر سرور بگذارید تا از طریق WHM بازیابی شود. اگر روی هاست اشتراکی سیپنل هستید، این کار را از طریق تیم پشتیبانی فنی پیگیری کنید و پیش از هر بازگردانی حتماً یک نسخهٔ تازه از وضعیت فعلی هم بگیرید؛ بازگردانی، محتوای فعلی را بازنویسی میکند و بدون نسخهٔ لحظهٔ آخر راه برگشتی نخواهید داشت.
چرا باید یک نسخه بیرون از سرور نگه دارید؟
بکاپی که فقط روی همان سروری ذخیره شده که سایت روی آن اجرا میشود، در برابر خرابی دیسک، اشتباه در حذف حساب یا از دست رفتن دسترسی کاری از پیش نمیبرد. اصل ساده این است: حداقل دو نسخه در دو محل متفاوت، و یکی از آنها خارج از سرور اصلی.
در عمل یعنی آرشیو را روی رایانهٔ خودتان، یک فضای ذخیرهسازی مجزا یا یک سرور مجازی جداگانه نگه دارید و برای نسخههای حساس، فایل را با رمز محافظت کنید. سیاست و بازهٔ نگهداری بکاپ در هر ارائهدهنده متفاوت است، بنابراین نسخهٔ شخصی خودتان همیشه آخرین خط دفاع محسوب میشود. روی سرورهایی که افزونه JetBackup نصب است، تهیه و بازگردانی نسخهها از همان پنل هم ممکن است؛ بکاپگیری و ریستور با JetBackup در سی پنل این مسیر را نشان میدهد.
نکات و خطاهای رایج
- سالم بودن آرشیو را بررسی کنید. یک فایل tar.gz ناقص در ظاهر با فایل سالم فرقی ندارد؛ حجم فایل را با انتظارتان مقایسه کنید و در صورت امکان آن را باز کنید. برای فایل
.sqlهم انتهای فایل را نگاه کنید؛ خروجی کاملmysqldumpمعمولاً با خط-- Dump completedتمام میشود و فایلی که وسط یک دستورINSERTقطع شده، ناقص است. - پر شدن فضا وسط کار. اگر فضای آزاد حساب کمتر از حجم دادهها باشد، ساخت آرشیو ناتمام میماند. پیش از شروع، فایلهای زائد و بکاپهای قدیمی را پاک کنید.
- بکاپ منظم بگیرید، نه فقط قبل از دردسر. یک برنامهٔ ثابت (مثلاً پیش از هر بهروزرسانی مهم و در بازههای منظم) بسیار ارزشمندتر از یک بکاپ تصادفی است.
- تاریخ فایلها را نگه دارید. نامگذاری پیشفرض سیپنل تاریخ را در خود دارد؛ آن را تغییر ندهید. برای خروجیهای دستی هم تاریخ را در نام فایل بگذارید.
- فایل بکاپ را داخل
public_htmlنگذارید. یک فایل.sqlیا آرشیو حساب در مسیر عمومی یعنی هر کسی که آدرسش را حدس بزند، به دادههای شما دسترسی دارد.
مهمترین بخش ماجرا نه گرفتن بکاپ، بلکه دانلود کردن، بررسی کردن و بیرون نگهداشتن آن از سرور است.

ارسال نظر