Denne artikel vil diskutere, hvordan man opretter en sikkerhedskopi af en MySQL-database ved hjælp af PHP og automatiserer processen med backup.
Sikkerhedskopier automatisk MySQL-database ved hjælp af PHP
For at skrive PHP-kode skal du åbne en hvilken som helst kodeeditor. Til dette indlæg, ' Visual Studio kode ' bliver brugt:
Opret en PHP-fil med navnet ' db_backup.php ”:
Indtast denne kode og angiv dine MySQL-databaselegitimationsoplysninger:
Definere ( 'DB_HOST' , 'din_mysql_host' ) ;Definere ( 'DB_USER' , 'dit_mysql_brugernavn' ) ;
Definere ( 'DB_PASS' , 'dit_mysql_adgangskode' ) ;
Definere ( 'DB_NAME' , 'dit_databasenavn' ) ;
Definer sikkerhedskopieringsmappen, hvor sikkerhedskopieringsfilerne skal gemmes:
Definere ( 'BACKUP_DIR' , '/sti/til/din/sikkerhedskopi/mappe' ) ;
Indstil datoformatet for navnet på backupfilen:
$dato = dato('Y-m-d_H-i-s');Definer ' backup_fil ”:
$backup_file = BACKUP_DIR . '/'. DB_NAME . '-'. $dato . '.sql';Brug mysqldump-værktøjet til at oprette en sikkerhedskopi og angiv databaselegitimationsoplysningerne:
$command = 'mysqldump --user='.DB_USER.' --password='.DB_PASS.' '.DB_NAME.' > '.$backup_file;system($kommando);
Komprimer backup-filen ved at bruge ' gzip 'værktøj:
$gzip_command = 'gzip '.$backup_fil;system($gzip_kommando);
Indtast dette stykke kode for at fjerne de gamle backup-filer, for dette indlæg er de filer, der er ' 7 ” dage gamle slettes:
$find_command = 'find '.BACKUP_DIR.' -type f -name '*.gz' -mtime +7 -delete';system($find_kommando);
Gem filen, og kør den for at bekræfte, om backupfilen er oprettet eller ej. Åbn koderedigeringsterminalen og skriv kommandoen for at udføre filen:
php .\db_backup.phpList mappen for at se, om sikkerhedskopifilen findes. Outputtet viser den sikkerhedskopifil, der er oprettet med succes:
For at automatisere processen med backup skal du åbne startmenuen, søge ' Opgaveplanlægger ' og klik på ' Åben ” knap:
Fra ' Handlinger ' og tryk på ' Opret opgave ' mulighed:
En ny guide åbnes. Gå ind i ' Generel ' fanen og angiv opgavens navn. Vælg den mulighed, der sikrer backup, selvom brugeren er logget ud:
Naviger til ' Udløsere ' fanen og tryk på ' Ny ” knap:
Vælg muligheden ' På et skema ”. Vælg det planlagte tidspunkt som ' Daglige ' og juster ' Start 'tid. I de avancerede indstillinger skal du markere ' Aktiveret ' og tryk på ' Okay ” knap:
Status ændres til ' Aktiveret ”:
Vælg ' Handlinger '-fanen og klik på ' Ny ” knap:
Indtast navnet for 'Action', og søg efter ' Program/manuskript ' PHP-fil, du har oprettet og ' Tilføj argumenter ' og klik på ' Okay ”:
Handlingen oprettes med succes:
Gå til ' Betingelser ' fanen og marker afkrydsningsfeltet ' Væk computeren for at gnide denne opgave ”:
I ' Indstillinger ”-fanen og vælg indstillingerne som vist i outputtet og juster tidspunktet for genstart og klik på ” Okay ” knap:
Prompten vises, skriv legitimationsoplysningerne og klik på ' Okay ” knap:
Din MySQL-database vil automatisk sikkerhedskopiere. Tjek backup-mappen for at se backup-filerne, når det er nødvendigt:
Du har oprettet PHP-filen til backup af MySQL-databasen og derefter for at automatisere backupprocessen, du brugte opgaveplanlægningen.
Konklusion
Brug kodeeditoren til at oprette en PHP-fil, angive MySQL-databaselegitimationsoplysningerne og backupfilnavneformat og datoformat. Brug kommandoen mysqldump til at oprette en SQL-fil og gzip-værktøj til at komprimere SQL-filen. Brug Task Scheduler til automatisering af backup-processen. Dette indlæg demonstrerede, hvordan man automatisk sikkerhedskopierer en MySQL-database ved hjælp af PHP.