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

Jak Automatycznie Wykonac Kopie Zapasowa Bazy Danych Mysql Za Pomoca Php



MySQL to system RDBMS typu open source, który może wydajnie tworzyć, zarządzać i przechowywać ogromne ilości danych w ustrukturyzowany sposób. Aby zapewnić bezpieczeństwo danych, ważnym zadaniem jest tworzenie kopii zapasowych bazy danych. 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 skryptowym.

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

Automatycznie wykonaj kopię zapasową bazy danych MySQL za pomocą PHP

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









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







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

definiować ( 'DB_HOST' , „twój_host_mysql” ) ;

definiować ( „UŻYTKOWNIK_DB” , „twoja_nazwa_mysql_użytkownika” ) ;

definiować ( 'DB_PASS' , „twoje_hasło_mysql” ) ;

definiować ( „DB_NAME” , „twoja_nazwa_bazy danych” ) ;

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



definiować ( „BACKUP_DIR” , „/ścieżka/do/twojej/kopii zapasowej/katalogu” ) ;

Ustaw format daty dla nazwy pliku kopii zapasowej:

$date = date('Y-m-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($komenda);

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

$gzip_command = 'gzip '.$backup_file;

system($gzip_command);

Wpisz ten fragment kodu, aby usunąć stare pliki kopii zapasowej, w tym poście pliki, które są „ 7 ” dni zostaną usunięte:

$find_command = 'znajdź '.BACKUP_DIR.' -type f -name '*.gz' -mtime +7 -delete';

system($znajdź_polecenie);

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

php .\db_backup.php

Wyświetl katalog, aby sprawdzić, czy plik kopii zapasowej istnieje. Dane wyjściowe wyświetlają pomyślnie utworzony plik kopii zapasowej:

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

od „ działania ” i naciśnij przycisk „ Utwórz zadanie ' opcja:

Otworzy się nowy kreator. Udaj się do „ Ogólny ” i podaj nazwę zadania. Wybierz opcję zapewniającą wykonanie kopii zapasowej nawet po wylogowaniu użytkownika:

Przejdź do „ Wyzwalacze ” i naciśnij przycisk „ Nowy ' przycisk:

Wybierz opcję „ Zgodnie z harmonogramem ”. Wybierz zaplanowany czas jako „ Codziennie ” i wyreguluj „ Początek ' czas. W ustawieniach zaawansowanych zaznacz „ Włączony ” i naciśnij przycisk „ OK ' przycisk:

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

Wybierz ' działania ” i kliknij przycisk „ Nowy ' przycisk:

Wpisz nazwę dla „Akcji” i wyszukaj „ Program/skrypt „ Plik PHP, który utworzyłeś i „ Dodaj argumenty ” i kliknij „ OK ”:

Akcja zostanie pomyślnie utworzona:

Przejdź do „ Warunki ” i zaznacz pole wyboru „ Obudź komputer, aby wyczyścić to zadanie ”:

W ' Ustawienia ” i wybierz opcje wyświetlane w danych wyjściowych, dostosuj czas ponownego uruchomienia i kliknij przycisk „ OK ' przycisk:

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

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

Pomyślnie utworzyłeś plik PHP do tworzenia kopii zapasowych bazy danych MySQL, a następnie do automatyzacji procesu tworzenia kopii zapasowych użyłeś Harmonogramu zadań.

Wniosek

Użyj edytora kodu, aby utworzyć plik PHP, podaj poświadczenia bazy danych MySQL oraz wykonaj kopię zapasową formatu nazwy pliku i formatu daty. Użyj polecenia mysqldump, aby utworzyć plik SQL i narzędzia gzip, aby skompresować plik SQL. Użyj Harmonogramu zadań do automatyzacji procesu tworzenia kopii zapasowej. Ten post pokazał, jak automatycznie wykonać kopię zapasową bazy danych MySQL przy użyciu PHP.