워드프레스 사이트 (수동으로) 백업하기

!
경고: 이 글이 작성된 지 365일이 넘었습니다. 글의 정보가 오래되어 부정확할 수 있습니다.

자동화된 솔루션으로 백업하지 말고, 수동으로 제대로 백업하세요!

일단 임시 폴더를 생성해서 작업합니다:

mkdir backup-20200105
cd backup-20200105

이제 MySQL 데이터베이스를 파일로 저장합니다!

참고로 이 가이드에선 서버에 설치된 MySQL 설정이 유닉스 소켓을 사용해서 인증하는 것을 가정합니다. 만약 비밀번호 방식의 인증으로 MySQL 데이터베이스에 연결하고 MySQL 데이터베이스가 워드프레스가 설치되어 있는 서버에 같이 설치되어 있다면 그냥 유닉스 소켓 방식의 인증으로 변경하시는 것을 추천합니다. 추가 비밀번호를 기억할 필요가 없고 나중에 관리가 편리하기 때문입니다.

sudo mysqldump --add-drop-table -u root wordpress > database.sql

만약 sudo 비밀번호를 물어본다면 입력하면 됩니다. 만약 MySQL 비밀번호를 물어본다면, 위의 글을 참고하세요.

이제 웹 사이트의 정적 파일을 복사해올 차례입니다. 다음을 실행하세요:

cp -a /var/www/example.com ./

-a 플래그는 cp 프로그램에게 모든 파일 플래그(attribute)를 복사하라고 지시합니다. 가끔 실패하는 경우가 있는데, 제가 실행했을 때엔 파일 소유자 정보를 www-data에서 ericswpark로 변경해버렸습니다. 이땐 chown으로 수정해주면 됩니다.

마지막으로 tar을 사용해 폴더를 압축해줍니다. 한 단계 이전으로 나온 다음 다음을 실행합니다:

tar -czvf backup-20200105.tar.gz backup-20200105/

이제 생성된 tarball 파일을 백업하면 됩니다.

복원

tarball 파일을 다운받은 후, 압축해제합니다:

tar -xzvf backup-20200105.tar.gz

폴더로 진입한 다음, 다음 명령으로 복원합니다:

sudo mysql -u root wordpress < database.sql
cp -a example.com /var/www/

만약 권한 문제가 발생하면 chown/chmod로 수정하면 됩니다.

댓글