Denne artikkelen vil diskutere hvordan du lager en sikkerhetskopi av en MySQL-database ved hjelp av PHP og automatiserer prosessen med sikkerhetskopiering.
Sikkerhetskopier automatisk MySQL-database ved hjelp av PHP
For å skrive PHP-kode, åpne et hvilket som helst koderedigeringsprogram. For dette innlegget, ' Visual Studio-kode ' blir brukt:
Lag en PHP-fil med navnet ' db_backup.php ':
Skriv inn denne koden og oppgi din MySQL-databaselegitimasjon:
definere ( 'DB_HOST' , 'din_mysql_vert' ) ;definere ( 'DB_USER' , 'ditt_mysql_brukernavn' ) ;
definere ( 'DB_PASS' , 'ditt_mysql_passord' ) ;
definere ( 'DB_NAME' , 'ditt_databasenavn' ) ;
Definer sikkerhetskopieringskatalogen, hvor sikkerhetskopifilene skal lagres:
definere ( 'BACKUP_DIR' , '/bane/til/din/sikkerhetskopi/katalog' ) ;
Still inn datoformatet for navnet på sikkerhetskopifilen:
$date = date('Y-m-d_H-i-s');Definer ' backup_fil ':
$backup_file = BACKUP_DIR . '/'. DB_NAME . '-'. $date . '.sql';For å lage en sikkerhetskopifil, bruk mysqldump-verktøyet og oppgi databaselegitimasjonen:
$command = 'mysqldump --user='.DB_USER.' --password='.DB_PASS.' '.DB_NAME.' > '.$backup_file;system($kommando);
Komprimer sikkerhetskopifilen ved å bruke ' gzip ' verktøy:
$gzip_command = 'gzip '.$backup_file;system($gzip_kommando);
Skriv inn denne kodebiten for å fjerne de gamle sikkerhetskopifilene, for dette innlegget er filene ' 7 ' dager gamle vil bli slettet:
$find_command = 'finn '.BACKUP_DIR.' -type f -name '*.gz' -mtime +7 -delete';system($finn_kommando);
Lagre filen, og kjør den for å bekrefte om sikkerhetskopifilen er opprettet eller ikke. Åpne koderedigeringsterminalen og skriv inn kommandoen for å utføre filen:
php .\db_backup.phpList opp katalogen for å se om sikkerhetskopifilen eksisterer. Utdataene viser sikkerhetskopifilen som er opprettet:
For å automatisere prosessen med sikkerhetskopiering, åpne startmenyen, søk ' Oppgaveplanlegger ' og klikk på ' Åpen ”-knapp:
Fra ' Handlinger ' og trykk på ' Opprett oppgave alternativ:
En ny veiviser åpnes. Gå inn i ' Generell '-fanen og oppgi oppgavens navn. Velg alternativet som sikrer sikkerhetskopieringen selv om brukeren er logget ut:
Naviger til ' Utløsere '-fanen og trykk på ' Ny ”-knapp:
Velg alternativet ' På en timeplan '. Velg planlagt tid som ' Daglig ' og juster ' Start ' tid. I Avanserte innstillinger sjekk ' Aktivert '-alternativet og trykk på ' OK ”-knapp:
Statusen vil endres til ' Aktivert ':
Velg ' Handlinger '-fanen og klikk på ' Ny ”-knapp:
Skriv inn navnet for 'Handling' og bla etter ' Program/manus ' PHP-fil du opprettet og ' Legg til argumenter ' og klikk på ' OK ':
Handlingen vil bli opprettet:
Gå til ' Forhold '-fanen og merk av for ' Vekk datamaskinen for å gni denne oppgaven ':
I « Innstillinger '-fanen og velg alternativene som vises i utdataene og juster tiden for omstart og klikk på ' OK ”-knapp:
Spørsmålet vises, skriv inn legitimasjonen og klikk på ' OK ”-knapp:
Din MySQL-database vil automatisk sikkerhetskopiere. Sjekk sikkerhetskopikatalogen for å se sikkerhetskopifilene ved behov:
Du har opprettet PHP-filen for å sikkerhetskopiere MySQL-databasen, for deretter å automatisere sikkerhetskopieringsprosessen du brukte Oppgaveplanleggeren.
Konklusjon
Bruk koderedigeringsprogrammet til å lage en PHP-fil, oppgi MySQL-databaselegitimasjonen og sikkerhetskopieringsfilnavnformat og datoformat. Bruk mysqldump-kommandoen til å lage en SQL-fil og gzip-verktøy for å komprimere SQL-filen. Bruk Task Scheduler for automatisering av sikkerhetskopieringsprosessen. Dette innlegget demonstrerte hvordan du automatisk sikkerhetskopierer en MySQL-database ved hjelp av PHP.