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.phpLista 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.