Jak automatycznie tworzyć kopię zapasową bazy danych MySQL za pomocą PHP

Jak automatycznie tworzyć kopię zapasową bazy danych MySQL za pomocą PHP
MySQL to open source RDBM, które mogą skutecznie tworzyć, zarządzać i przechowywać ogromne ilości danych w ustrukturyzowany sposób. Aby zapewnić bezpieczeństwo danych, wykonanie kopii zapasowej bazy danych jest ważnym zadaniem. MySQL obsługuje wiele języków, więc aby utworzyć kopię zapasową bazy danych MySQL, użytkownik może napisać skrypt w PHP, który jest potężnym językiem scenariusza.

W tym artykule omówione, jak utworzyć kopię zapasową bazy danych MySQL za pomocą PHP i zautomatyzować proces kopii zapasowej.

Automatycznie tworzenie kopii zapasowych bazy danych MySQL za pomocą PHP

Aby napisać kod PHP, otwórz dowolny edytor kodów. W tym poście „Kod Studio Visual" jest używany:

Utwórz plik PHP o nazwie „db_backup.php”:

Wpisz ten kod i podaj swoje poświadczenia bazy danych MySQL:

Zdefiniuj („db_host”, „your_mysql_host”);
Zdefiniuj („db_user”, „your_mysql_username”);
Zdefiniuj („db_pass”, „your_mysql_password”);
Zdefiniuj („db_name”, „your_database_name”);

Zdefiniuj katalog kopii zapasowej, w którym pliki kopii zapasowych będą przechowywane:

definiować („backup_dir”, '/ścieżka/do/your/backup/Directory');

Ustaw format daty dla nazwy pliku kopii zapasowej:

$ data = data ('y-d_h-i-s');

Zdefiniuj "plik kopii zapasowej”:

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

Aby utworzyć plik kopii zapasowej, użyj narzędzia MySQLDUMP i podaj poświadczenia bazy danych:

$ command = "mysqldump --User =".Db_user." - -Password =".Db_pass.„”.Db_name.">".$ backup_file;
system ($ command);

Skompresuj plik kopii zapasowej za pomocą „gzip" narzędzie:

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

Wpisz ten kawałek kodu, aby usunąć stare pliki kopii zapasowych, dla tego postu pliki, które są „7„Dni zostanie usunięte:

$ find_command = "znajdź".Backup_dir.„-Type f -name”*.gz '-mtime +7 -delete ”;
System ($ find_command);

Zapisz plik i uruchom go, aby potwierdzić, czy plik kopii zapasowej jest tworzony, czy nie. Otwórz terminal edytora kodu i wpisz polecenie, aby wykonać plik:

php .\ db_backup.php

Wypisz katalog, aby sprawdzić, czy istnieje plik kopii zapasowej. Wyjście wyświetla plik kopii zapasowej, który jest utworzony pomyślnie:

Aby zautomatyzować proces kopii zapasowej, otwórz menu Start, wyszukaj „Harmonogram zadań”I kliknij„otwarty" przycisk:

Z „działania”I naciśnij„Utwórz zadanie" opcja:

Otwarcie nowego czarodzieja. Udaj się do „Ogólny”Tab i podaj nazwę zadania. Wybierz opcję zapewniającą kopię zapasową, nawet jeśli użytkownik jest wylogowany:

Przejść do „Wyzwalacze”Tab i naciśnij„Nowy" przycisk:

Wybierz opcję „W harmonogramie". Wybierz zaplanowany czas jako „Codziennie”I dostosuj„Początek" czas. W ustawieniach zaawansowanych sprawdź „Włączony”Opcja i naciśnij„OK" przycisk:

Status zmieni się na „Włączony”:

Wybierz "działania”Zakładka i kliknij„Nowy" przycisk:

Wpisz nazwę „Action” i przeglądaj „Program/skrypt„Utworzyłeś plik PHP i„Dodaj argumenty”I kliknij„OK”:

Akcja zostanie pomyślnie utworzona:

Idź do „Warunki”Zakładka i zaznacz pole wyboru„Obudź komputer, aby pocierać to zadanie”:

W "Ustawienia”Zakładka i wybierz opcje wyświetlane na wyjściu i dostosuj czas uruchomienia i kliknij„OK" przycisk:

Pojawi się monit, wpisz poświadczenia i kliknij „OK" przycisk:

Twoja baza danych mysql automatycznie tworzy kopię zapasową. Sprawdź katalog kopii zapasowej, aby w razie potrzeby zobaczyć pliki kopii zapasowych:

Pomyślnie utworzyłeś plik PHP w celu zapasowej bazy danych MySQL, a następnie zautomatyzować proces tworzenia kopii zapasowej, którego użyłeś harmonogram zadań.

Wniosek

Użyj edytora kodu, aby utworzyć plik PHP, podaj poświadczenia bazy danych MySQL oraz format nazwy pliku kopii zapasowej i format daty. Użyj polecenia MySQLDUMP, aby utworzyć plik SQL i narzędzie GZIP do kompresji pliku SQL. Użyj harmonogramu zadań do automatyzacji procesu tworzenia kopii zapasowych. Ten post wykazał, jak automatycznie wykonać kopię zapasową bazy danych MySQL za pomocą PHP.