Hvordan du automatisk tar sikkerhetskopi av mysql -databasen ved hjelp av php

Hvordan du automatisk tar sikkerhetskopi av mysql -databasen ved hjelp av php
MySQL er en åpen kildekode RDBMS som effektivt kan opprette, administrere og lagre enorme datamengder på en strukturert måte. For å sikre sikkerheten til dataene, er det en viktig oppgave å sikkerhetskopiere databasen. MySQL støtter mange språk, så for å lage en sikkerhetskopi av en MySQL -database, kan brukeren skrive skriptet i PHP, som er et kraftig skriptspråk.

Denne artikkelen vil diskutere hvordan du oppretter en sikkerhetskopi av en MySQL -database ved hjelp av PHP og automatiserer prosessen med sikkerhetskopiering.

Sikkerhetskopier MySQL -databasen automatisk ved hjelp av PHP

For å skrive PHP -kode, åpne enhver kodeditor. For dette innlegget, “Visual Studio Code”Brukes:

Opprett en PHP -fil som heter “db_backup.PHP”:

Skriv inn denne koden og oppgi MySQL -databasen legitimasjon:

definere ('db_host', 'your_mysql_host');
definere ('db_user', 'your_mysql_usname');
definere ('db_pass', 'your_mysql_password');
definere ('db_name', 'your_database_name');

Definer sikkerhetskopikatalogen, der sikkerhetskopifilene blir lagret:

definere ('backup_dir', '/bane/til/din/backup/katalog');

Angi datoformatet for navnet på sikkerhetskopifilen:

$ dato = dato ('y-m-d_h-i-s');

Definere “Backup_file”:

$ backup_file = backup_dir . '/' . Db_name . '-' . $ Dato . '.sql ';

For å opprette en sikkerhetskopifil, bruk MySQLDump -verktøyet, og oppgi databasen legitimasjon:

$ command = "mysqldump --bruker =".DB_USER."--Password =".Db_pass."".Db_name.">".$ backup_file;
system ($ kommando);

Komprimere sikkerhetskopifilen ved å bruke "Gzip”Verktøy:

$ gzip_command = "gzip".$ backup_file;
system ($ gzip_command);

Skriv inn dette kodestykket for å fjerne de gamle sikkerhetskopifilene, for dette innlegget filene som er "7”Dager gammel blir slettet:

$ find_command = "Finn".Backup_dir."-Type F -Name '*.GZ '-Mtime +7 -Delete ";
system ($ find_command);

Lagre filen, og kjør den for å bekrefte om sikkerhetskopifilen er opprettet eller ikke. Åpne kodeditorterminalen og skriv kommandoen for å utføre filen:

PHP .\ db_backup.PHP

Liste opp katalogen for å se om sikkerhetskopieringsfilen eksisterer. Utgangen viser sikkerhetskopifilen som opprettes vellykket:

For å automatisere prosessen med sikkerhetskopiering, åpne Start -menyen, søk "Oppgaveplanlegger”Og klikk på“Åpen”Knapp:

Fra "Handlinger”Og trykk på“Lag oppgave”Alternativ:

En ny veiviser åpnes. Ta turen inn i “Generell”Tab og oppgi oppgavens navn. Velg alternativet som sikrer sikkerhetskopien selv om brukeren er logget ut:

Naviger til “Utløser”Tab og trykk på“Ny”Knapp:

Velg alternativet “På en plan”. Velg den planlagte tiden som "Daglig”Og juster“Start" tid. I de avanserte innstillingene sjekk "Aktivert”Alternativ og trykk på“Ok”Knapp:

Statusen vil endre seg til “Aktivert”:

Velg “Handlinger”Tab og klikk på“Ny”Knapp:

Skriv inn navnet for “Handling” og bla gjennom “Program/skript”PHP -fil du opprettet og“Legg til argumenter”Og klikk på“Ok”:

Handlingen vil bli opprettet med suksess:

Gå til “Forhold”Tab og sjekk avkrysningsruten”Vekk datamaskinen for å gni denne oppgaven”:

I “Innstillinger”Tab og velg alternativene som vises i utdataene og juster tiden for omstart og klikk på“Ok”Knapp:

Ledeteksten vises, skriver legitimasjonen og klikker på "Ok”Knapp:

MySQL -databasen din vil automatisk sikkerhetskopiere. Sjekk sikkerhetskopikatalogen for å se sikkerhetskopifilene når det er nødvendig:

Du har opprettet PHP -filen for å sikkerhetskopiere MySQL -databasen, for deretter å automatisere sikkerhetskopieringsprosessen du brukte oppgavens planlegger.

Konklusjon

Bruk Code Editor til å opprette en PHP -fil, oppgi MySQL -databasen legitimasjon, og sikkerhetskopieringsfilnavnsformat og datoformat. Bruk MySQLDump -kommandoen til å opprette en SQL -fil og GZIP -verktøy for å komprimere SQL -filen. Bruk oppgavens planlegger for automatisering av sikkerhetskopieringsprosessen. Dette innlegget demonstrerte hvordan du automatisk kan ta sikkerhetskopi av en MySQL -database ved hjelp av PHP.