테스트 사이트 - 개발 중인 베타 버전입니다

[수정] 데이터베이스 & 서버파일 백업 플러그인

· 1년 전 · 2013 · 49
서버백업.png

일반 호스팅 회사에서는 데이터베이스 및 서버 파일을 자동 백업을 제공하고 있습니다.

그렇지만, 모 회사에는 데이터베이스 + 서버 파일 백업 시 유료로 부과하고 있습니다.

이런 경우는 매번 힘들게 할 필요없이 쉽게 백업할 수 있는 플러그인입니다.

 

:: 설치법

 

- 압축 파일 해제 
plugin 폴더 / extend 폴더를 그대로 업로드 (중복 파일 없음)

- 관리자 로그인 > 관리자 페이지 접속 시 필요 데이터 베이스가 자동 설치 됩니다.

- 관리자 화면 > 환경설정 > 맨 하단에 데이터 백업 메뉴 확인

 

978180634_1724043061.7912.png

 

:: 사용법

 

- 관리자 화면 > 환경설정 > 맨 하단에 데이터 백업 메뉴 > 원하는 작업 체크 > 우측 상단 완료 끝

 

978180634_1724043218.274.gif

 

:: 백업 이력

 

- 서브 페이지 백업 이력 메뉴 클릭 시 백업 이력 확인 가능

 

978180634_1724043249.7553.png

 

 

※ 데이터는 루트 디렉토리 내 /backup 폴더에 저장됩니다.

 

978180634_1724043262.6235.png

 

php8에서도 정상 동작합니다.

 

당연하겠지만, 서버 내 용량이 부족하면 실패하거나 백업이 되지 않으므로, 호스팅 내 용량 확인은 반드시 필수!

 

고맙습니다.

 

[업데이트]

 

24.08.26 : 백업 시 백업 폴더로 포함하던 부분을 수정

@들레아빠 님께서 제보해주셨습니다.

 

압축 파일도 수정 되었으며, 업데이트만 원하시는 분은

파일 2번 다운로드 하신 다음 plugin\data_backup 폴더에 붙혀넣어주세요

 

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 49개

1년 전

좋은 자료 감사합니다.

@위드스텝 감사합니다!!

1년 전

오 이건 정말 필수 플러그인이네요. 고맙습니다!!

@뒷집돌쇠 고맙습니다^^

1년 전

감사 합니다.

@들레아빠 감사합니다!!

1년 전

backup_update.php에서 backup 디렉토리 제외하기

[code]

                foreach ($files as $name => $file) {
                    if (!$file->isDir()) {
                        $filePath = $file->getRealPath();
                        $relativePath = substr($filePath, strlen($rootPath) + 1);
                        $zip->addFile($filePath, $relativePath);
                    }
                }
를 => 으로
                foreach ($files as $name => $file) {
                    // 백업 디렉토리를 제외
                    if (strpos($file->getRealPath(), realpath($backupDir)) === 0) {
                        continue;
                    }
                    if (!$file->isDir()) {
                        $filePath = $file->getRealPath();
                        $relativePath = substr($filePath, strlen($rootPath) + 1);
                        $zip->addFile($filePath, $relativePath);
                    }
                }

[/code]

하였습니다.

제보 감사합니다.^0^

 

코드가 다음과 같이 수정 되었습니다.

 

[code]

foreach ($files as $name => $file) {

                    if (!$file->isDir()) {

                        $filePath = $file->getRealPath();

                        $relativePath = substr($filePath, strlen($rootPath) + 1);

                       

                        // $backupDir 디렉토리는 백업하지 않음

                        if (strpos($relativePath, basename($backupDir)) !== 0) {

                            $zip->addFile($filePath, $relativePath);

                        }

                    }

                }

[/code]

와우 대박소스을 공개해 주셔서 감사합니다

 

@미키손 감사합니다^^