AWS lightsail에서 워드프레스 파일과 DB를 수작업으로 백업하고 복구하는 방법

글자 크기

며칠 전 워드프레스 업데이트 실패로 당황한 이후, 백업의 중요성을 절실히 깨달았습니다. 이 글에서는 AWS lightsail에서 워드프레스 파일과 DB를 수작업으로 백업하고 복구하는 방법을 자세히 알아보겠습니다.




AWS lightsail에서 워드프레스 파일과 DB를 수작업으로 백업하고 복구하는 방법



1. 워드프레스 파일과 데이터베이스 백업하기


① 워드프레스 파일 백업

■ SSH 접속 : Lightsail 메인화면에서 >_ 를 클릭하여 SSH 터미널로 접속합니다.

■ 웹 루트로 이동 : WordPress 파일이 있는 디렉토리로 이동합니다. Bitnami WordPress 스택의 경우 아래와 같습니다.

cd /opt/bitnami/wordpress


■ 파일 압축 : 웹 사이트 파일을 ZIP 파일로 압축합니다.

sudo zip -r ~/wordpress_files_backup.zip .


② 데이터베이스 백업

■ MySQL 접속 정보 확인 : WordPress의 wp-config.php에서 데이터베이스 접속 정보를 확인합니다.

cat wp-config.php | grep DB_

위의 명령 실행 결과는 아래와 같습니다.

define(‘DB_NAME’, ‘database_name_here’);
define(‘DB_USER’, ‘username_here’);
define(‘DB_PASSWORD’, ‘password_here’);
define(‘DB_HOST’, ‘localhost’);


■ 데이터베이스 덤프 생성 : 다음 명령어를 사용하여 WordPress 데이터베이스의 덤프를 생성합니다.

mysqldump -u DB_USER -p DB_NAME > ~/wordpress_database_backup.sql

  • DB_USER와 DB_NAME은 위에서 확인한 DB_USERDB_NAME을 입력합니다.
  • 명령을 실행하면 데이터베이스 비밀번호를 입력하라는 프롬프트가 나타나는데 위에서 확인한 DB_PASSWORD 을 입력합니다.


백업한 워드프레스 파일과 DB 파일을 FTP를 활용하여 로컬PC로 다운로드하면 백업이 완료됩니다.



2. 위드프레스 파일과 데이터베이스 복구하기

백업한 WordPress와 데이터베이스를 복구하는 과정은 다음과 같습니다.

① 워드프레스 파일 복구

■ 서버의 웹 루트 디렉토리로 이동합니다.

cd /opt/bitnami/wordpress


■ 기존 파일을 모두 삭제합니다 (주의: 기존 데이터가 필요 없는 경우에만 실행).

sudo rm -rf *


■ 로컬PC에 백업한 ZIP 파일을 FTP를 이용하여 서버로 전송합니다.

■ ZIP 파일을 압축 해제합니다.

sudo unzip ~/wordpress_files_backup.zip -d .


② 데이터베이스 복구

복구 작업을 하기 전에 먼저 wp-config.php 파일을 다른 디렉토리에 백업해 두고, 이 파일에서 DB_ 로 되어 있는 부분을 기록해 놓습니다.


■ 다음 명령어를 실행하여 Bitnami 애플리케이션 비밀번호를 확인합니다.

cat /home/bitnami/bitnami_application_password


■ MySQL에 접속합니다. DB_USER 에 wp-config.php에 있는 DB_USER 를 입력하고, 비밀번호는 위에서 확인한 비밀번호를 입력합니다.

mysql -u DB_USER -p


■ 기존 DB를 선택합니다. DB_NAME 에 wp-config.php에서 확인한 DB_NAME 을 입력합니다.

USE DB_NAME;


■ 모든 테이블을 삭제합니다.

SET FOREIGN_KEY_CHECKS = 0;
SET @tables = NULL;
SELECT GROUP_CONCAT(table_schema, '.', table_name) INTO @tables
FROM information_schema.tables
WHERE table_schema = 'your_database_name';
SET @tables = CONCAT('DROP TABLE ', @tables);
PREPARE stmt FROM @tables;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET FOREIGN_KEY_CHECKS = 1;


■ 백업한 SQL 파일을 가져옵니다 (MySQL 접속 상태에서).

SOURCE ~/wordpress_database_backup.sql;


3. 권한 설정하기

복구한 파일 및 디렉토리 권한을 올바르게 설정합니다.

sudo chown -R daemon:daemon .
sudo find . -type d -exec chmod 755 {} \;
sudo find . -type f -exec chmod 644 {} \;


오늘은 AWS lightsail에서 워드프레스 파일과 DB를 수작업으로 백업하고 복구하는 방법을 자세히 알아보았습니다. 백업은 한 번으로 끝내는 것이 아니라 주기적으로 해두는 것이 좋습니다. 이 글에서 설명한 복구 방법을 사용할 일이 없기를 바라며, 이 내용이 여러분이 안심하고 워드프레스 블로그를 운영하는 데 도움이 되길 바랍니다.