현재 위치: > 최신 기사 목록> PHP에서 자동화 된 데이터 백업 및 복구 기능을 구현하는 방법

PHP에서 자동화 된 데이터 백업 및 복구 기능을 구현하는 방법

M66 2025-06-20

PHP에서 자동화 된 데이터 백업 및 복구 기능을 구현하는 방법

웹 응용 프로그램을 개발하고 유지 관리 할 때 데이터 백업 및 복구 기능이 중요합니다. 데이터 손실, 예상치 못한 실패 또는 시스템 충돌로 인한 것인지, 적시에 백업 및 복구 메커니즘은 데이터 보안을 보장하고 시스템이 빠르게 복구 할 수 있도록 도와줍니다. 이 기사는 PHP에서 데이터의 자동 백업 및 복구를 구현하고 자세한 코드 예제를 제공하는 방법을 소개합니다.

데이터 백업

데이터 백업은 데이터 손실을 방지하기 위해 데이터베이스 또는 기타 중요한 데이터를 보안 스토리지 위치에 복사하는 것을 말합니다. 데이터 백업을 구현하는 단계는 다음과 같습니다.

  1. 데이터베이스에 연결 : 먼저 PHP의 데이터베이스 확장자를 사용하여 대상 데이터베이스에 연결해야합니다.
$ db_host = 'localhost';
$ db_user = 'username';
$ db_pass = '비밀번호';
$ db_name = 'database_name';

$ conn = mysqli_connect ($ db_host, $ db_user, $ db_pass, $ db_name);
if (! $ conn) {
    die ( "데이터베이스 연결 실패 :". mysqli_connect_error ());
}
    
  1. 데이터 테이블 목록 가져 오기 : Show Tables 문을 실행하여 데이터베이스에서 모든 데이터 테이블을 가져옵니다.
$ tables = mysqli_query ($ conn, "show tables");
    
  1. 백업 폴더 만들기 : 백업 파일을 저장할 폴더를 만듭니다.
$ backup_folder = '/path/to/backup/폴더';
if (! file_exists ($ backup_folder)) {
    mkdir ($ backup_folder, 0777, true);
}
    
  1. 루프 백업 데이터 테이블 : mysqldump 명령을 사용하여 각 데이터 테이블을 백업하고 백업 파일을 지정된 폴더에 저장합니다.
while ($ table = mysqli_fetch_row ($ tables)) {
    $ table_name = $ table [0];
    $ output_file = $ backup_folder. '/'. $ table_name. '-'. 날짜 ( 'ymdhi-s'). '.sql';
    $ command = "mysqldump -h {$ db_host} -u {$ db_user} -p {$ db_pass} {$ db_name} {$ table_name}> {$ output_file}";
    시스템 ($ command, $ output);
}
    
  1. 데이터베이스 연결 닫기 : 백업이 완료된 후 데이터베이스 연결을 닫습니다.
mysqli_close ($ conn);
    

데이터 복구

데이터 복구는 백업시 시스템을 상태로 복원하기 위해 백업 데이터를 데이터베이스에 재구성하는 것을 말합니다. 데이터 복구를 구현하는 단계는 다음과 같습니다.

  1. 데이터베이스에 연결 : 백업 작업과 동일하므로 먼저 데이터베이스에 연결해야합니다.
$ conn = mysqli_connect ($ db_host, $ db_user, $ db_pass, $ db_name);
if (! $ conn) {
    die ( "데이터베이스 연결 실패 :". mysqli_connect_error ());
}
    
  1. 백업 파일 목록 가져 오기 : 백업 폴더에서 모든 백업 파일을 가져옵니다.
$ backup_files = glob ($ backup_folder. '/* .sql');
    
  1. 백업 데이터 루프 복구 : MySQL 명령을 사용하여 백업 파일에서 데이터를 가져옵니다.
foreach ($ backup_files as $ backup_file) {
    $ command = "mysql -h {$ db_host} -u {$ db_user} -p {$ db_pass} {$ db_name} <{$ backup_file}";
    시스템 ($ command, $ output);
}
    
  1. 데이터베이스 연결을 닫으십시오 : 복구가 완료된 후 데이터베이스 연결을 닫으십시오.
mysqli_close ($ conn);
    

요약하면, PHP의 데이터베이스 확장 및 시스템 명령을 사용하여 자동 데이터 백업 및 복구 기능을 쉽게 구현할 수 있습니다. 백업 스크립트를 정기적으로 실행하여 데이터 보안을 보장하고 데이터 손실 또는 시스템 고장을 방지하십시오. 동시에 개발자는 다양한 시나리오의 요구 사항을 충족시키기위한 실제 요구에 따라 백업 및 복구 전략을 사용자 정의 할 수 있습니다.