وردپرس محبوب‌ترین نرم‌افزار مدیریت محتواست و سایت‌های بسیار زیادی مبتنی بر این CMS طراحی شده است. اما برای بکاپ گرفتن از تمام اطلاعات WordPress ابزاری در آن پیش‌بینی نشده است. خوشبختانه بکاپ گرفتن از سایت وردپرسی که روی سرورهای با سیستم عامل لینوکس میزبانی می‌شود بسیار ساده است.

در ادامه به روش بکاپ گرفتن از دیتابیس SQL و سایر فایل‌های سایت وردپرسی با دستورات ساده‌ای در ترمینال لینوکس می‌پردازیم. با ما باشید.

بکاپ‌گیری از بانک داده یا SQL Database‌ سایت

شاید مهم‌ترین بخش از سایت وردپرسی، دیتابیس باشد و خوشبختانه بکاپ گرفتن از دیتابیس در Linux‌ بسیار ساده است. برای این کار از ابزار sqldump استفاده می‌شود.

برای اکسپورت کردن دیتابیس سایت وردپرسی، ترمینال لینوکس را باز کنید و با تاید کردن su، از حساب روت استفاده کنید. البته اگر حساب root را غیرفعال کرده‌اید، می‌‌بایست از دستور دوم یعنی sudo -s استفاده کنید.

su -

sudo -s

اکنون برای ایجاد فولدر بکاپ یک فولدر جدید ایجاد کنید و سپس فولدرهایی برای بکاپ‌گیری از SQL Database و دیگر فایل‌های وردپرس بسازید. برای این کار از دستورات زیر استفاده کنید:

mkdir -p /root/wp-backup

mkdir -p /root/wp-backup/sql

mkdir -p /root/wp-backup/wp-installation-files

اکنون با دستور CD محل کار را به فولدر sql تغییر دهید.

cd /root/wp-backup/sql

و حالا فولدر آماده است و می‌توانید از دیتابیس وردپرس خروجی بگیرید و در آن ذخیره کنید. توجه داشته باشید که فرمان sqldump بدون دانستن نام دیتابیس و همین‌طور نام کاربری و پسورد، قابل استفاده نیست. برای بکاپ‌گیری از دیتابیس از دستور زیر استفاده کنید و به جای username و databasename از نام کاربری و نام دیتابیس استفاده کنید. بکاپ با نام wp_backup.sql در فولدر sql ذخیره می‌شود که می‌توانید این نام را نیز در انتهای دستور زیر تغییر دهید. 

mysqldump -u username -p databasename > db.wp__backup.sql

پس از فشار دادن Enter، بکاپ‌گیری شروع می‌شود. در پایان برای چک کردن این موضوع که آیا بکاپ در محل موردنظر ذخیره شده یا خیر، از دستور Is استفاده کنید:

ls -a

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

بکاپ گرفتن از وردپرس و تمام فایل‌های آن در لینوکس

برای بکاپ گرفتن از تمام فایل‌ها و فولدرهای سایت وردپرسی، ابتدا باید از دستور cp یا کپی استفاده کنید و تمام فایل‌هایی که در مسیر /var/www/html موجود است را در مسیر /root/wp-backup/wp-installation-files قرار دهید.

بنابرای در ترمینال لینوکس دستور cp و آدرس مبداً و مقصد را وارد کنید تا عمل کپی صورت بگیرد:

cp -rp /var/www/html/* /root/wp-backup/wp-installation-files/

با توجه به اینکه ممکن است حجم فایل‌های موجود در سایت وردپرسی زیاد باشد، عمل کپی نیز ممکن است طولانی باشد. صبر کنید تا فرآیند کپی تکمیل شود و سپس با استفاده از دستور cd سراغ فولدر بکاپی که برای فایل‌ها و اینستالیشن وردپرس ساخته‌اید بروید.

cd /root/wp-backup/wp-installation-files/

و سپس با دستور Is بررسی کنید که آیا فایل‌های در این فولدر موجود است یا خیر.

ls -a

فشرده کردن بکاپ وردپرس و دیگر فایل‌ها در لینوکس

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

برای آرشیو کردن می‌توانید از فرمت Tar استفاده کنید که بسیار سریع ساخته می‌شود اما از نظر میزان فشرده کردن، ضعیف است. دستورات زیر را در ترمینال لینوکس اجرا کنید تا از فولدر بکاپ که شامل بکاپ بانک داده و بکاپ فایل‌های وردپرس است، یک فایل Tar ساخته شود:

tar -zcvpf wordpress-backup.tar.gz /root/wp-backup

چگونه در لینوکس از سایت وردپرسی و دیتابیس آن بکاپ بگیریم و بکاپ را Restore کنیم؟

زمانی که فشرده‌سازی به پایان رسید، می‌توانید فایل آرشیو را روی وسایلی مثل هارد اکسترنال و فلش‌درایو USB کپی کنید و همین‌طور آن را روی سرویس‌های ابری مثل گوگل درایو آپلود نمایید. توجه کنید که آرشیو ساخته‌شده به صورت بدون رمز است و این یعنی ممکن است افرادی که به فایل دسترسی دارند، بتوانند آن را باز کرده و از اطلاعات سایت شما سوء استفاده کنند.

می‌توانید فایل آرشیو را رمزگذاری کنید. برای این کار می‌توانید ابزار GnuPG را روی سرور لینوکسی خویش نصب کنید و سپس با دستور زیر، فایل بکاپ را رمزگذاری کنید:

gpg -c wordpress-backup.tar.gz

ابزار Gpg از شما رمز عبور را سوال می‌کند. رمز را تایپ کنید و کلید Enter را فشار دهید.

چگونه در لینوکس از سایت وردپرسی و دیتابیس آن بکاپ بگیریم و بکاپ را Restore کنیم؟

زمانی که رمزگذاری به پایان برسد، فایل خروجی backup.tar.gz.gpg خواهد بود.

بازگردانی بکاپ سایت وردپرسی در لینوکس

برای ری‌استور کردن یا بازگردانی بکاپ نیز می‌توانید از دستورات ساده‌ای که در ترمینال لینوکس اجرا می‌شود استفاده کنید. ابتدا دسترسی روت را با یکی از دستورات زیر فراهم کنید:

su -

sudo -s

سپس با CD سراغ فولدر حاوی بکاپ بروید و قدم بعدی رمزگشایی فایل دارای رمز است که با دستورات زیر صورت می‌گیرد:

gpg

cp -rp

.gpg

و در نهایت با استفاده از Tar، فایل آرشیو بکاپ را اکسترکت کنید:

tar -xvpf wordpress-backup.tar.gz

در ادامه با دستور CD وارد فولدر حاوی بکاپ دیتابیس شوید و سپس از فرمان mysqldump‌ برای Restore کردن بکاپ استفاده کنید:

cd /root/wordpress-backup/sql

mysqldump -u username -p databasename < db.wp__backup.sql

ایمپورت کردن دیتابیس در سایت وردپرسی به این معنی است که تمام اطلاعات مربوط به مطالب و حساب‌های کاربری و نظرات و همین‌طور تنظیمات افزونه‌های مختلف و ... از فایل بکاپ بارگذاری می‌شود.

با استفاده از دستور cp می‌توانید فایل‌های بکاپ را در محل نصب وردپرس کپی کنید:

cp -rp /root/wordpress-backup/* /var/www/html

و در نهایت برای حذف کردن فایل‌های بکاپ آرشیوشده می‌توانید از دستورات زیر استفاده کنید:

rm wordpress-backup.tar.gz

 

rm wordpress-backup.tar.gz.gpg

rm -rf wordpress-backup