Register Now

Login


Lost Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Backup script in PHP

There are a few different ways you can create a backup script in PHP, depending on what you want to back up and where you want to store the backup files. Here is an example of a simple PHP script that uses the mysqldump command to create a backup of a MySQL database and saves the backup file to a specified directory:

<?php

// Database credentials
$db_host = 'localhost';
$db_user = 'username';
$db_pass = 'password';
$db_name = 'database_name';

// Define the backup file name and directory
$backup_file = '/path/to/backup/directory/' . $db_name . '_' . date("Y-m-d-H-i-s") . '.sql';

// Use mysqldump command to create a backup
$command = "mysqldump --opt -h $db_host -u $db_user -p$db_pass $db_name > $backup_file";

system($command);

?>

This script first defines the credentials for the MySQL database that you want to back up, including the hostname, username, password, and database name. It then creates a variable called $backup_file that defines the name and directory of the backup file, using the current date and time to make the file name unique.

The script then creates a command to execute mysqldump command to dump the database $db_name with the credentials provided and to a file $backup_file

You can run this script by calling it from the command line or by calling it from a web page. You can also schedule it to run automatically on a regular basis using a tool like cron on Linux systems.

Additionally to backup a whole directory, you can use the zip function in php, it will compress and save the directory in a zip file

<?php
    // Define the directory to backup
    $dir = '/path/to/directory/to/backup';
    // Define the backup file name and directory
    $backup_file = '/path/to/backup/directory/' . date("Y-m-d-H-i-s") . '.zip';

    // use the ZipArchive class 
    $zip = new ZipArchive;
    $zip->open($backup_file, ZipArchive::CREATE | ZipArchive::OVERWRITE);
    $files = new RecursiveIteratorIterator(
        new RecursiveDirectoryIterator($dir),
        RecursiveIteratorIterator::LEAVES_ONLY
    );
    foreach ($files as $name => $file) {
        if (!$file->isDir()) {
            $filePath = $file->getRealPath();
            $relativePath = substr($filePath, strlen($dir) + 1);
            $zip->addFile($filePath, $relativePath);
        }
    }
    $zip->close();
?>

This script will backup the directory located at $dir and saves the compressed version in a zip file located at $backup_file

It’s worth noting that this is just one example of how to create a backup script in PHP and that you may need to modify it depending on your specific requirements. Also, it is a good practice to implement a checksum


You can use PHP scripts to backup your MySQL databases. The mysqldump command line utility can be used to generate a SQL script that contains the database structure and data, which can then be executed to restore it. You can also use PHP to create a file containing the SQL script and download it to your browser. You can automate the backup process by scheduling it with CRON jobs.


Leave a reply