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.phpWyś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.