Košík je prázdný

Zálohování databáze je jednou z nezbytných činností pro udržení bezpečnosti a integrity dat. Kromě samotného zálohování je také důležité, aby tyto zálohy byly efektivní a zabíraly co nejméně místa. Jedním z efektivních způsobů, jak toho dosáhnout, je komprese záloh pomocí formátu Gzip. V PHP je možné snadno vytvořit skript, který nejen zálohuje databázi, ale také uloží zálohu do Gzip archivu.

Jak vytvořit PHP skript na zálohování databáze s uložením do Gzip:

  1. Připojení k databázi: Začněte vytvořením spojení s databází pomocí PHP funkce mysqli_connect() nebo vhodné alternativy.

  2. Získání seznamu tabulek: Získejte seznam všech tabulek v databázi, které chcete zálohovat, pomocí SQL dotazu SHOW TABLES.

  3. Iterace přes tabulky: Projděte každou tabulku získanou v předchozím kroku.

  4. Získání dat tabulky: Pro každou tabulku získejte všechna data pomocí SQL dotazu SELECT * FROM table_name.

  5. Uložení dat do Gzip souboru: Po získání dat každé tabulky je uložte do dočasného souboru a poté komprimujte pomocí funkce gzencode().

  6. Uložení Gzip archivu: Nakonec uložte Gzip archiv do cílového adresáře s vhodným názvem.

Příklad PHP skriptu na zálohování databáze s uložením do Gzip:

<?php
// Připojení k MySQL databázi
$host = 'localhost';
$username = 'uzivatel';
$password = 'heslo';
$database = 'databaze';

$connection = mysqli_connect($host, $username, $password, $database);

if (!$connection) {
    die("Chyba při připojení k databázi: " . mysqli_connect_error());
}

// Získání seznamu tabulek
$tables = mysqli_query($connection, "SHOW TABLES");

// Vytvoření prázdného Gzip archivu
$gzipData = '';

while ($row = mysqli_fetch_row($tables)) {
    $table = $row[0];
    
    // Získání dat tabulky
    $result = mysqli_query($connection, "SELECT * FROM $table");
    $data = '';
    
    while ($row = mysqli_fetch_assoc($result)) {
        $data .= var_export($row, true) . ";\n";
    }
    
    // Komprese dat do Gzip formátu
    $gzipData .= gzencode($data, 9);
}

// Uložení Gzip archivu
$backupFilename = 'database_backup_' . date('Y-m-d_H-i-s') . '.gz';
file_put_contents($backupFilename, $gzipData);

// Uzavření spojení s databází
mysqli_close($connection);

echo "Záloha databáze byla úspěšně vytvořena a uložena do souboru '$backupFilename'.";
?>

Tento skript se spojí s MySQL databází, získá seznam tabulek, projde každou tabulku, získá její data a uloží je do Gzip archivu. Po dokončení zálohování se spojení s databází uzavře a skript zobrazí potvrzující zprávu s názvem vytvořeného Gzip archivu.

Tímto způsobem můžete jednoduše vytvořit PHP skript pro zálohování databáze s uložením do Gzip archivu, což zajišťuje kompaktní a účinnou zálohu vašich dat.