اسکریپت سیستم پشتیبان‌گیری ساده پایگاه داده با استفاده از PHP


در دنیای امروز، مدیریت داده‌ها و نگهداری از اطلاعات کاربران، مشتریان، محصولات و سایر داده‌های حیاتی، اهمیت بسیار زیادی پیدا کرده است. یکی از مهم‌ترین نیازهای هر وب‌سایت یا برنامه تحت وب، داشتن یک سیستم پشتیبان‌گیری مطمئن و کارآمد است تا در صورت بروز هرگونه خطا، مشکل، یا از دست رفتن اطلاعات، بتوان به سرعت بازیابی انجام داد و از ادامه روند فعالیت اطمینان حاصل نمود. در این راستا، توسعه یک اسکریپت پشتیبان‌گیری ساده و موثر برای پایگاه داده‌های MySQL با استفاده از زبان PHP، بسیار رایج و پرکاربرد است. این مقاله قصد دارد به صورت کامل و جامع، نحوه ساخت چنین اسکریپتی را شرح دهد، تا بتوانید به راحتی آن را پیاده‌سازی کنید و از داده‌های خود محافظت نمایید.
مزایای استفاده از اسکریپت پشتیبان‌گیری با PHP
قبل از شروع، ضروری است که به برخی مزایای استفاده از این نوع اسکریپت اشاره کنیم. اول، سادگی در پیاده‌سازی است؛ چراکه PHP زبان برنامه‌نویسی است که در سمت سرور اجرا می‌شود و ارتباط مستقیم با پایگاه داده‌های MySQL دارد. دوم، انعطاف‌پذیری بالا؛ می‌توانید آن را بر اساس نیازهای خاص خود تنظیم کنید. سوم، هزینه پایین؛ زیرا نیاز به نرم‌افزارهای پیچیده یا سیستم‌های خارجی ندارد و فقط نیازمند چند خط کد است. و در نهایت، قابلیت زمان‌بندی و خودکارسازی، که با استفاده از کرون یا سایر ابزارهای زمان‌بندی می‌توانید عملیات پشتیبان‌گیری را در فواصل زمانی مشخص انجام دهید.
مراحل ساخت اسکریپت پشتیبان‌گیری پایگاه داده با PHP
برای ساخت این اسکریپت، باید چند مرحله اصلی را طی کنیم. این مراحل عبارتند از:
  1. اتصال به پایگاه داده

  1. استخراج ساختار و داده‌های پایگاه داده

  1. ایجاد فایل‌های پشتیبان با فرمت مناسب

  1. ذخیره فایل‌ها در مسیر مشخص‌شده

  1. (اختیاری) فشرده‌سازی فایل‌های پشتیبان برای صرفه‌جویی در فضای ذخیره‌سازی

  1. مدیریت و نگهداری فایل‌های قدیمی
    در ادامه، هر یک از این مراحل را به صورت جزئی و همراه با نمونه کد PHP توضیح می‌دهیم.

    1. اتصال به پایگاه داده




اولین قدم، برقراری ارتباط با پایگاه داده است. برای این کار، باید اطلاعاتی مانند نام سرور، نام کاربری، رمز عبور و نام پایگاه داده را داشته باشید. کد نمونه:
php  

<?php

$host = 'localhost'; // یا آی‌پی سرور پایگاه داده

$db_user = 'username'; // نام کاربری

$db_pass = 'password'; // رمز عبور

$db_name = 'database_name'; // نام پایگاه داده
$conn = new mysqli($host, $db_user, $db_pass, $db_name);
if ($conn->connect_error) {

die('ارتباط با پایگاه داده برقرار نشد: ' . $conn->connect_error);

}

?>


در این قسمت، با استفاده از کلاس `mysqli`، ارتباط برقرار می‌شود و در صورت خطا، پیام خطا نمایش داده می‌شود.

  1. استخراج ساختار و داده‌های پایگاه داده




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

$result = $conn->query("SHOW TABLES");

$tables = [];
while ($row = $result->fetch_row()) {

$tables[] = $row[0];

}


سپس، برای هر جدول، ساختار و داده‌ها را استخراج می‌کنیم و در قالب دستورات `INSERT` و `CREATE TABLE` قرار می‌دهیم. نمونه کد:
php  

$backupSql = '';
foreach ($tables as $table) {

// ساختار جدول

$result = $conn->query("SHOW CREATE TABLE `$table`");

$row = $result->fetch_assoc();

$backupSql .= "\n\n" . $row['Create Table'] . ";\n";
// داده‌های جدول

$result = $conn->... ← ادامه مطلب در magicfile.ir