back to top

웹서버에 있는 홈페이지를 자동으로 백업해주는 배치 파일

작성일 :

☞ 이 포스트는 Windows 운영체제용 Apache, MySQL을 기준으로 소개된 글 입니다.

웹서버에 저장된 홈페이지를 백업하는 것이 번거롭다면, Windows 운영체제에 포함된 예약된 작업 기능을 사용해 사용자가 지정한 일정에 따라 홈페이지와 MySQL이 자동으로 백업되게 할 수 있습니다. 참고로, 이 포스트는 배치 파일 소스와 사용 방법만 제공하며 일부 준비물(RAR, SQL DUMP)은 저작권 문제로 인해 함께 제공하지 않는다는 점 양해 부탁드립니다.

홈페이지 자동 백업을 위한 준비물

• Rar.exe (WinRar의 폴더에 있는 파일입니다.)
• Sqldump.exe (MySQL의 Bin폴더에 있는 파일입니다.)
• Backup.bat (아래 배치 파일 내용을 기입하여 만든 Bat파일입니다.)

회색 박스에 소개한 파일을 지정된 경로에 넣어주면 Backup.bat을 사용하기 위한 모든 준비가 끝난 것입니다. 참고로, RAR.exe(저작권 문제)와 Sqldump.exe(버전 호환 문제) 파일은 언급된 사유로 인해 이 포스트에서 함께 제공하지 못하는 점 양해 부탁드립니다.

필자가 사용중인 배치파일의 내용

@echo off
REM
REM 덤프한 파일을 RAR 로 압축하고, TXT파일은 지운다
REM

REM
REM sql을 dump 받는다
REM

echo SQL DB를 DUMP하는 중입니다.
MYSQLDUMP -h 호스트명 -u 아이디 -p비밀번호 데이터베이스명 > 데이터베이스명.txt

REM
REM 덤프한 파일을 RAR 로 압축하고, TXT파일은 지운다
REM

echo DUMP 완료된 파일을 압축하고 있습니다.
RAR a E:\www\my\Backup\데이터베이스명_db.RAR 데이터베이스명.txt -m5 -df -ds

REM
REM home 디렉토리를 백업한다.
REM

echo HOME디렉토리 파일을 압축하여 백업하고 있습니다.
RAR a E:\www\my\Backup\webhard.rar E:\www\my\webhard\*.* -r0 -m5 -ds
echo 모든 백업이 완료되었습니다.

회색 박스의 모든 내용을 메모장에 복사 → 붙여넣기 한 후 색상으로 표시한 부분을 사용자님에게 적합하도록 수정한 후 배치 파일 확장자(*.bat)로 저장합니다. 참고로, 배치파일을 관리자 권한으로 실행하지 않으면 권한 문제로 인해 백업되지 않을 수 있습니다.

MySQL 백업

MYSQLDUMP -h 호스트명 -u 아이디 -p비밀번호 데이터베이스명 > 데이터베이스명.txt
RAR a E:\www\my\Backup\데이터베이스명_db.RAR 데이터베이스명.txt -m5 -df -ds

예시)
MYSQLDUMP -h localhost -u jns1350 -pjns1235 textcube > textcube.txt
RAR a D:\www\my\Backup\textcube_db.rar textcube.txt -m5 -df -ds

사용자가 웹서버에서 사용 중인 MySQL 호스트명, 아이디, 비밀번호, 데이터베이스 이름을 입력하는 단계입니다. 상기 명령어는 jns1350 사용자가 textcube 데이터베이스를 백업한 후 D:\www\my\Backup\textcube_db.rar로 압축하는 명령어입니다.

홈페이지 백업

echo HOME디렉토리 파일을 압축하여 백업하고 있습니다.
RAR a E:\www\my\Backup\webhard.rar E:\www\my\webhard\*.* -r0 -m5 -ds

예시)
RAR a E:\www\my\Backup\textcube_home.rar E:\www\textcube\*.* -r0 -m5 -ds

사용자가 웹서버에서 사용 중인 홈페이지 경로를 입력하는 단계입니다. 상기 명령어는 E:\www\textcube에 있는 모든 파일을 E:\www\my\Backup\textcube_home.rar로 압축하는 명령어입니다.

예약된 작업 기능을 사용해 자동 백업하기

Windows 운영체제에 포함된 예약된 작업 기능을 사용하면 backup.bat를 사용자가 원하는 일정(매일/주기/월별/시간별)에 따라 실행되도록 설정해 사용자가 지정한 일정에 따라 홈페이지와 MySQL이 자동으로 백업되게 할 수 있습니다. 참고로, 배치파일을 관리자 권한으로 실행하지 않으면 권한 문제로 인해 백업되지 않을 수 있습니다.

관련 글 읽기

의견

의견을 남겨주세요.

Please enter your comment!
Please enter your name here

최근 작성 글