본문 바로가기

Free Notes

워드프레스 매일 백업하기

가입형 블로그를 쓰다가 설치형 블로그로 옮기니 마치 아파트 살다가 단독주택으로 이사한듯이 그 전에는 내가 신경쓸 필요가 없던 것들을 신경써야 하는 게 좀 귀찮기는 하다.

백업도 그중에 하나이다. 내 컴퓨터에 모든 자료가 있으니 혹시라도 이 컴퓨터가 고장나면 나의 모든 블로그 자료들은 빠이빠이가 된다.

오늘은 백업을 알아봐서 매일 자동백업이 되도록 구성해놨다.

1. 백업 batch파일 작성
2. 윈도우 스케쥴러에 등록

1. 백업 batch파일: mysql의 wordpress db 백업과 실제 wordpress 폴더 백업부분으로 구성

- db backup은 웹에서 배치파일예를 찾아서 수정해서 적용했다.

- wordpress폴더 백업 은 xcopy 명령어를 이용하기로 했다.

xcopy d:\Home\wordpress\*.* e:\wordpress_backup\ /m /s /e /r /h /k /o /y /c

옵션은 /m(수정된 파일만) /s /e(폴더까지 포함하여) /r /h (읽기전용, 히든파일 포함) /k /o(속성, 소유권 포함) /y(물어보지 말고) /c(오류무시) 

- 배치파일에서 폴더는 자동으로 만들어주지 못해서(어떻게 하는지 몰라서) E:\ 드라이브에 E:\mysql_daily_backups 와 e:\wordpress_backup 폴더는 수동으로 만들어줬다.

---------------------------------------------------------
db_backup.bat
---------------------------------------------------------

@echo off

echo Starting Backup of Mysql Database on server 

For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set dt=%%c-%%a-%%b)

For /f "tokens=1-4 delims=:." %%a in ('echo %time%') do (set tm=%%a%%b%%c%%d)

set bkupfilename=%1 %dt% %tm%.sql

echo Backing up to file: %bkupfilename%

mysqldump  --routines -u root -pli397473  wordpress > E:\mysql_daily_backups\"wordpress%bkupfilename%"

echo on

echo delete old backup

forfiles /p E:\mysql_daily_backups /s /m *.* /d -3 /c "cmd /c del @file : date >= 3days"

echo wordpress folder backup

xcopy d:\Home\wordpress\*.* e:\wordpress_backup\ /m /s /e /r /k /o /y /h /c

echo Backup Complete! Have A Nice Day

--------------------------------------------------------



2. 윈도우스케쥴러에 등록

새벽 3시에 위 배치파일이 실행되도록 해놨다.

이제 매일 db와 파일들이 백업될 것이고 가끔씩 E에 백업되어있는 파일들만 이중백업해주면 백업문제는 안심해도 될 것 같다.