Hur man automatiskt säkerhetskopierar MySQL-databas med PHP

Hur Man Automatiskt Sakerhetskopierar Mysql Databas Med Php



MySQL är ett RDBMS med öppen källkod som effektivt kan skapa, hantera och lagra stora mängder data på ett strukturerat sätt. För att säkerställa datasäkerheten är säkerhetskopiering av databasen en viktig uppgift. MySQL stöder många språk, så för att skapa en säkerhetskopia av en MySQL-databas kan användaren skriva skriptet i PHP, som är ett kraftfullt skriptspråk.

Den här artikeln kommer att diskutera hur man skapar en säkerhetskopia av en MySQL-databas med PHP och automatiserar processen för säkerhetskopiering.

Säkerhetskopiera automatiskt MySQL-databas med PHP

För att skriva PHP-kod, öppna valfri kodredigerare. För detta inlägg, ' Visual Studio-kod ' används:









Skapa en PHP-fil med namnet ' db_backup.php ”:







Skriv in den här koden och ange dina MySQL-databasuppgifter:

definiera ( 'DB_HOST' , 'din_mysql_värd' ) ;

definiera ( 'DB_USER' , 'ditt_mysql_användarnamn' ) ;

definiera ( 'DB_PASS' , 'ditt_mysql_lösenord' ) ;

definiera ( 'DB_NAME' , 'ditt_databasnamn' ) ;

Definiera säkerhetskopieringskatalogen, där säkerhetskopieringsfilerna kommer att lagras:



definiera ( 'BACKUP_DIR' , '/sökväg/till/din/backup/katalog' ) ;

Ställ in datumformatet för namnet på säkerhetskopian:

$date = date('Y-m-d_H-i-s');

Definiera ' backup-fil ”:

$backup_file = BACKUP_DIR . '/'. DB_NAME . '-'. $date . '.sql';

För att skapa en säkerhetskopia, använd mysqldump-verktyget och ange databasuppgifterna:

$command = 'mysqldump --user='.DB_USER.' --password='.DB_PASS.' '.DB_NAME.' > '.$backup_file;

system($kommando);

Komprimera säkerhetskopian med hjälp av ' gzip ' verktyg:

$gzip_command = 'gzip '.$backup_file;

system($gzip_kommando);

Skriv denna kodbit för att ta bort de gamla säkerhetskopiorna, för det här inlägget filerna som är ' 7 ” dagar gammal kommer att raderas:

$find_command = 'hitta '.BACKUP_DIR.' -typ f -name '*.gz' -mtime +7 -delete';

system($hitta_kommando);

Spara filen och kör den för att bekräfta om säkerhetskopian har skapats eller inte. Öppna kodredigeringsterminalen och skriv kommandot för att köra filen:

php .\db_backup.php

Lista katalogen för att se om säkerhetskopian finns. Utdatan visar säkerhetskopian som skapades framgångsrikt:

För att automatisera processen för säkerhetskopiering, öppna startmenyn, sök ' Schemaläggaren ' och klicka på ' Öppen ' knapp:

Från ' Handlingar ' och tryck på ' Skapa uppgift ' alternativ:

En ny guide öppnas. Gå in i ' Allmän '-fliken och ange uppgiftens namn. Välj alternativet som säkerställer säkerhetskopieringen även om användaren är utloggad:

Navigera till ' Utlösare '-fliken och tryck på ' Ny ' knapp:

Välj alternativet ' På ett schema ”. Välj schemalagd tid som ' Dagligen ' och justera ' Start 'tid. I de avancerade inställningarna kontrollera ' Aktiverad ' och tryck på ' OK ' knapp:

Statusen kommer att ändras till ' Aktiverad ”:

Välj ' Handlingar '-fliken och klicka på ' Ny ' knapp:

Skriv namnet för 'Action' och bläddra efter ' Program/manus ' PHP-fil du skapade och ' Lägg till argument ' och klicka på ' OK ”:

Åtgärden kommer att skapas framgångsrikt:

Gå till ' Betingelser '-fliken och markera kryssrutan ' Väck datorn för att gnugga denna uppgift ”:

I ' inställningar '-fliken och välj alternativen som visas i utgången och justera tiden för omstarten och klicka på ' OK ' knapp:

Uppmaningen visas, skriv in referenserna och klicka på ' OK ' knapp:

Din MySQL-databas säkerhetskopieras automatiskt. Kontrollera säkerhetskopieringskatalogen för att se säkerhetskopiorna vid behov:

Du har framgångsrikt skapat PHP-filen för att säkerhetskopiera MySQL-databasen och sedan för att automatisera säkerhetskopieringsprocessen du använde Task Scheduler.

Slutsats

Använd kodredigeraren för att skapa en PHP-fil, ange MySQL-databasens referenser och backupfilnamnsformat och datumformat. Använd kommandot mysqldump för att skapa en SQL-fil och ett gzip-verktyg för att komprimera SQL-filen. Använd Task Scheduler för automatisering av säkerhetskopieringsprocessen. Det här inlägget visade hur man automatiskt säkerhetskopierar en MySQL-databas med PHP.