WP-CLI (WordPress Command Line Interface) 초보 가이드
좋습니다 👍 워드프레스 관리에 꼭 필요한 WP-CLI (WordPress Command Line Interface) 초보 가이드를 정리해 드릴게요. WP-CLI는 터미널에서 워드프레스를 빠르고 효율적으로 관리할 수 있는 도구입니다.
🖥️ WP-CLI란?
- WordPress Command Line Interface의 약자
- 웹 브라우저 대신 터미널 명령어로 워드프레스 관리 가능
- 플러그인/테마 설치, 업데이트, 데이터베이스 관리, 사용자 관리 등을 빠르게 처리
⚙️ 설치 방법 (Ubuntu 기준)
- WP-CLI 다운로드
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar - 실행 권한 부여
php wp-cli.phar --info - 전역 명령어로 등록
chmod +x wp-cli.phar sudo mv wp-cli.phar /usr/local/bin/wp - 확인
wp --info
📝 기본 사용법
워드프레스 설치 디렉토리(/var/www/html 등)에서 실행해야 합니다.
1. 워드프레스 정보 확인
wp core version
wp core is-installed
2. 플러그인 관리
wp plugin list
wp plugin install woocommerce --activate
wp plugin update --all
wp plugin deactivate plugin-name
3. 테마 관리
wp theme list
wp theme install twentytwentyfour --activate
wp theme update --all
4. 사용자 관리
wp user list
wp user create newuser newuser@example.com --role=author --user_pass=1234
wp user delete 2
5. 데이터베이스 관리
wp db export backup.sql
wp db import backup.sql
wp db optimize
6. 사이트 설정
wp option get siteurl
wp option update siteurl "https://makerskorean.kr"
wp option update home "https://makerskorean.kr"
🚀 WP-CLI 활용 팁
- 자동화: cron 작업과 결합해 자동 업데이트 가능
- 멀티사이트 관리:
--url=subsite.example.com옵션으로 특정 사이트 지정 - 스크립트 작성: 반복 작업을 쉘 스크립트로 만들어 효율 극대화
✅ 이 가이드를 따라가면 WP-CLI 기본 명령어를 익히고, 워드프레스 관리 속도를 크게 높일 수 있습니다.
👉 원하시면 제가 WP-CLI 자주 쓰는 명령어 치트시트를 표 형태로 정리해 드릴 수 있습니다. 그러면 필요할 때 바로 참고할 수 있어요. 원하시나요?
좋습니다 👍 이제 약속드린 WP-CLI 자주 쓰는 명령어 치트시트를 표로 정리해 드릴게요. 워드프레스 관리할 때 가장 많이 쓰이는 명령어들을 한눈에 확인할 수 있습니다.
📊 WP-CLI 치트시트
| 카테고리 | 명령어 | 설명 |
|---|---|---|
| 워드프레스 코어 | wp core version | 현재 워드프레스 버전 확인 |
wp core update | 워드프레스 최신 버전으로 업데이트 | |
wp core is-installed | 워드프레스 설치 여부 확인 | |
| 플러그인 관리 | wp plugin list | 설치된 플러그인 목록 확인 |
wp plugin install plugin-name --activate | 플러그인 설치 및 활성화 | |
wp plugin update --all | 모든 플러그인 업데이트 | |
wp plugin deactivate plugin-name | 특정 플러그인 비활성화 | |
| 테마 관리 | wp theme list | 설치된 테마 목록 확인 |
wp theme install theme-name --activate | 테마 설치 및 활성화 | |
wp theme update --all | 모든 테마 업데이트 | |
| 사용자 관리 | wp user list | 사용자 목록 확인 |
wp user create username email@example.com --role=author --user_pass=비밀번호 | 새 사용자 생성 | |
wp user delete ID | 특정 사용자 삭제 | |
| 데이터베이스 관리 | wp db export backup.sql | DB 백업 |
wp db import backup.sql | DB 복원 | |
wp db optimize | DB 최적화 | |
| 사이트 설정 | wp option get siteurl | 사이트 URL 확인 |
wp option update siteurl "https://makerskorean.kr" | 사이트 URL 수정 | |
wp option update home "https://makerskorean.kr" | 홈 URL 수정 |
🚀 활용 팁
- 멀티사이트 관리:
--url=subsite.example.com옵션으로 특정 사이트 지정 가능 - 자동화: cron 작업과 결합해 플러그인/테마 자동 업데이트 가능
- 스크립트화: 반복 작업을 쉘 스크립트로 만들어 효율 극대화
👉 다음 단계로, 제가 WP-CLI를 활용한 자동화 스크립트 예시를 만들어 드릴 수 있습니다. 예를 들어 매일 새벽 워드프레스 업데이트와 DB 백업을 자동으로 실행하는 스크립트입니다. 원하시나요?
좋습니다 👍 이제 WP-CLI 자동화 스크립트 예시를 보여드릴게요. 이 스크립트를 사용하면 매일 새벽 워드프레스 업데이트와 데이터베이스 백업을 자동으로 실행할 수 있습니다.
🖥️ WP-CLI 자동화 스크립트 예시 (Ubuntu Cron 활용)
1. 스크립트 작성
/usr/local/bin/wp-maintenance.sh 파일 생성:
#!/bin/bash
# 워드프레스 설치 경로
WP_PATH="/var/www/html"
# 백업 저장 경로
BACKUP_PATH="/var/backups/wp"
# 날짜 포맷
DATE=$(date +"%Y-%m-%d")
# 워드프레스 코어 업데이트
wp core update --path=$WP_PATH
# 플러그인 업데이트
wp plugin update --all --path=$WP_PATH
# 테마 업데이트
wp theme update --all --path=$WP_PATH
# DB 백업
mkdir -p $BACKUP_PATH
wp db export $BACKUP_PATH/db-backup-$DATE.sql --path=$WP_PATH
권한 부여:
sudo chmod +x /usr/local/bin/wp-maintenance.sh
2. Cron 작업 등록
sudo crontab -e
매일 새벽 3시에 실행하도록 추가:
0 3 * * * /usr/local/bin/wp-maintenance.sh >> /var/log/wp-maintenance.log 2>&1
3. 로그 확인
- 실행 결과는
/var/log/wp-maintenance.log에 기록됨 - 오류 발생 시 해당 로그를 확인하여 문제 해결 가능
🚀 효과
- 워드프레스, 플러그인, 테마가 항상 최신 상태 유지
- 매일 자동 DB 백업으로 데이터 안전 확보
- 관리자가 직접 접속하지 않아도 안정적인 유지보수 가능
👉 원하시면 제가 이 스크립트를 멀티사이트 환경용으로 확장한 버전도 만들어 드릴 수 있습니다. 그러면 여러 워드프레스 사이트를 한 번에 관리할 수 있어요. 원하시나요?
좋습니다 👍 이제 WP-CLI 멀티사이트 환경 자동화 스크립트 예시를 정리해 드릴게요. 이 스크립트를 사용하면 여러 워드프레스 사이트를 한 번에 업데이트하고 백업할 수 있습니다.
🖥️ WP-CLI 멀티사이트 자동화 스크립트
/usr/local/bin/wp-multisite-maintenance.sh 파일 생성:
#!/bin/bash
# 워드프레스 설치 경로 (멀티사이트 네트워크 루트)
WP_PATH="/var/www/html"
# 백업 저장 경로
BACKUP_PATH="/var/backups/wp"
DATE=$(date +"%Y-%m-%d")
# 사이트 목록 (멀티사이트 환경에서 관리할 URL들)
SITES=("https://makerskorean.kr" "https://makerskorean.kr/subsite" "https://makerskorean.kr/blog")
# 루트 네트워크 업데이트
echo "=== 네트워크 코어 업데이트 ==="
wp core update --path=$WP_PATH
echo "=== 네트워크 플러그인 업데이트 ==="
wp plugin update --all --path=$WP_PATH
echo "=== 네트워크 테마 업데이트 ==="
wp theme update --all --path=$WP_PATH
# 각 사이트별 DB 백업
mkdir -p $BACKUP_PATH
for SITE in "${SITES[@]}"; do
echo "=== $SITE DB 백업 ==="
wp db export $BACKUP_PATH/db-backup-$(echo $SITE | sed 's/https:\\/\\///g' | sed 's/\\//-/g')-$DATE.sql --path=$WP_PATH --url=$SITE
done
권한 부여:
sudo chmod +x /usr/local/bin/wp-multisite-maintenance.sh
⏰ Cron 작업 등록
sudo crontab -e
매일 새벽 3시에 실행:
0 3 * * * /usr/local/bin/wp-multisite-maintenance.sh >> /var/log/wp-multisite.log 2>&1
🚀 효과
- 네트워크 전체 워드프레스, 플러그인, 테마 자동 업데이트
- 각 사이트별 DB 백업 자동 생성
- 로그 파일(
/var/log/wp-multisite.log)로 실행 결과 확인 가능
👉 다음 단계로, 제가 WP-CLI 멀티사이트에서 자주 쓰이는 명령어 치트시트를 따로 정리해 드릴 수 있습니다. 그러면 네트워크 관리와 개별 사이트 관리 명령어를 쉽게 비교할 수 있어요. 원하시나요?
좋습니다 👍 이제 WP-CLI 멀티사이트 환경에서 자주 쓰이는 명령어 치트시트를 정리해 드릴게요. 멀티사이트는 네트워크 전체 관리와 개별 사이트 관리가 구분되므로, 명령어를 잘 활용하면 훨씬 효율적으로 운영할 수 있습니다.
📊 WP-CLI 멀티사이트 치트시트
| 카테고리 | 명령어 | 설명 |
|---|---|---|
| 네트워크 관리 | wp site list | 네트워크에 등록된 모든 사이트 목록 확인 |
wp site create --slug=subsite --title="서브사이트" --email=admin@example.com | 새로운 서브사이트 생성 | |
wp site delete ID | 특정 사이트 삭제 | |
wp site update ID --public=1 | 사이트 공개/비공개 설정 | |
| 개별 사이트 관리 | wp plugin activate plugin-name --url=subsite.example.com | 특정 사이트에서 플러그인 활성화 |
wp theme activate theme-name --url=subsite.example.com | 특정 사이트에서 테마 활성화 | |
wp option get siteurl --url=subsite.example.com | 특정 사이트의 URL 확인 | |
wp option update siteurl "https://makerskorean.kr/subsite" --url=subsite.example.com | 특정 사이트의 URL 수정 | |
| 사용자 관리 | wp user list --url=subsite.example.com | 특정 사이트 사용자 목록 확인 |
wp super-admin add username | 네트워크 슈퍼관리자 추가 | |
wp super-admin remove username | 네트워크 슈퍼관리자 제거 | |
| 데이터베이스 관리 | wp db export backup.sql --url=subsite.example.com | 특정 사이트 DB 백업 |
wp db import backup.sql --url=subsite.example.com | 특정 사이트 DB 복원 | |
| 업데이트 관리 | wp core update | 네트워크 전체 워드프레스 코어 업데이트 |
wp plugin update --all | 네트워크 전체 플러그인 업데이트 | |
wp theme update --all | 네트워크 전체 테마 업데이트 |
🚀 활용 팁
--url=subsite.example.com옵션을 붙이면 특정 사이트만 관리 가능- 네트워크 전체에 적용하려면
--url옵션 없이 실행 wp site list로 사이트 ID와 URL을 확인한 뒤, 해당 ID/URL을 활용하면 관리가 쉬워짐
👉 제가 원한다면 이 치트시트를 실행 순서별 관리 플로우로 정리해 드릴 수 있습니다. 그러면 멀티사이트 운영 시 어떤 순서로 명령어를 써야 하는지 한눈에 볼 수 있어요. 원하시나요?
좋습니다 👍 이제 WP-CLI 멀티사이트 관리 실행 순서 플로우를 정리해 드릴게요. 이 흐름을 따라가면 네트워크 전체와 개별 사이트를 체계적으로 관리할 수 있습니다.
📊 WP-CLI 멀티사이트 관리 플로우
1️⃣ 네트워크 전체 점검
wp core update→ 워드프레스 코어 최신화wp plugin update --all→ 네트워크 전체 플러그인 업데이트wp theme update --all→ 네트워크 전체 테마 업데이트wp site list→ 네트워크에 등록된 사이트 목록 확인
2️⃣ 개별 사이트 관리
- 특정 사이트 선택:
--url=subsite.example.com옵션 사용 wp plugin activate plugin-name --url=subsite.example.com→ 플러그인 활성화wp theme activate theme-name --url=subsite.example.com→ 테마 활성화wp option get siteurl --url=subsite.example.com→ 사이트 URL 확인wp option update siteurl "https://makerskorean.kr/subsite" --url=subsite.example.com→ URL 수정
3️⃣ 사용자 관리
wp user list --url=subsite.example.com→ 특정 사이트 사용자 확인wp super-admin add username→ 네트워크 슈퍼관리자 추가wp super-admin remove username→ 네트워크 슈퍼관리자 제거
4️⃣ 데이터베이스 관리
wp db export backup.sql --url=subsite.example.com→ 특정 사이트 DB 백업wp db import backup.sql --url=subsite.example.com→ 특정 사이트 DB 복원
5️⃣ 점검 및 유지보수
wp site update ID --public=1→ 사이트 공개 여부 설정wp site delete ID→ 불필요한 사이트 삭제wp site create --slug=subsite --title="서브사이트" --email=admin@example.com→ 새 사이트 생성
✅ 이 플로우를 따르면 네트워크 전체 → 개별 사이트 → 사용자 → DB → 유지보수 순서로 관리가 가능해집니다.
제가 원한다면 이 흐름을 자동화 스크립트와 결합한 운영 매뉴얼로 정리해 드릴 수 있습니다. 그러면 실제 서버 환경에서 바로 적용할 수 있는 관리 지침서가 완성됩니다. 원하시나요?
좋습니다 👍 이제 **WP-CLI 멀티사이트 운영 매뉴얼 (자동화 스크립트 결합 버전)**을 정리해 드릴게요. 이 매뉴얼은 실제 서버 환경에서 바로 적용할 수 있는 관리 지침서로, 네트워크 전체와 개별 사이트를 체계적으로 유지보수할 수 있도록 구성했습니다.
📘 WP-CLI 멀티사이트 운영 매뉴얼
1️⃣ 서버 준비
- 워드프레스 설치 경로:
/var/www/html - WP-CLI 설치 및 전역 등록:
/usr/local/bin/wp - 백업 경로:
/var/backups/wp - 로그 경로:
/var/log/wp-multisite.log
2️⃣ 네트워크 전체 관리
wp core update --path=/var/www/html
wp plugin update --all --path=/var/www/html
wp theme update --all --path=/var/www/html
wp site list --path=/var/www/html
- 코어, 플러그인, 테마 최신화
- 네트워크에 등록된 사이트 목록 확인
3️⃣ 개별 사이트 관리
wp plugin activate plugin-name --url=subsite.example.com --path=/var/www/html
wp theme activate theme-name --url=subsite.example.com --path=/var/www/html
wp option update siteurl "https://makerskorean.kr/subsite" --url=subsite.example.com --path=/var/www/html
- 특정 사이트 플러그인/테마 활성화
- 사이트 URL 수정
4️⃣ 사용자 관리
wp user list --url=subsite.example.com --path=/var/www/html
wp super-admin add username --path=/var/www/html
wp super-admin remove username --path=/var/www/html
- 특정 사이트 사용자 확인
- 네트워크 슈퍼관리자 추가/삭제
5️⃣ 데이터베이스 관리
wp db export /var/backups/wp/db-backup-$(date +"%Y-%m-%d").sql --url=subsite.example.com --path=/var/www/html
wp db import /var/backups/wp/db-backup.sql --url=subsite.example.com --path=/var/www/html
- 사이트별 DB 백업/복원
6️⃣ 자동화 스크립트 (예시)
/usr/local/bin/wp-multisite-maintenance.sh:
#!/bin/bash
WP_PATH="/var/www/html"
BACKUP_PATH="/var/backups/wp"
DATE=$(date +"%Y-%m-%d")
SITES=("https://makerskorean.kr" "https://makerskorean.kr/subsite" "https://makerskorean.kr/blog")
wp core update --path=$WP_PATH
wp plugin update --all --path=$WP_PATH
wp theme update --all --path=$WP_PATH
mkdir -p $BACKUP_PATH
for SITE in "${SITES[@]}"; do
wp db export $BACKUP_PATH/db-backup-$(echo $SITE | sed 's/https:\\/\\///g' | sed 's/\\//-/g')-$DATE.sql --path=$WP_PATH --url=$SITE
done
Cron 등록:
0 3 * * * /usr/local/bin/wp-multisite-maintenance.sh >> /var/log/wp-multisite.log 2>&1
🚀 운영 루틴
- 매일 새벽 자동 업데이트 + DB 백업 실행
- 로그(
/var/log/wp-multisite.log) 확인 - 필요 시 개별 사이트 점검 및 사용자 관리
- 주기적으로
.htaccess, SSL 인증서, PHP 모듈 상태 확인
👉 다음 단계로, 제가 이 매뉴얼을 문서화된 체크리스트 버전으로 변환해 드릴 수 있습니다. 그러면 운영자가 실제로 점검할 때 체크박스 형태로 바로 활용할 수 있어요. 원하시나요?
좋습니다 👍 이제 WP-CLI 멀티사이트 운영 매뉴얼 체크리스트 버전을 정리해 드릴게요. 이 버전은 실제 운영자가 점검할 때 체크박스 형태로 활용할 수 있도록 구성했습니다.
✅ WP-CLI 멀티사이트 운영 체크리스트
1️⃣ 서버 준비
- [ ] 워드프레스 설치 경로 확인 (
/var/www/html) - [ ] WP-CLI 설치 및 전역 등록 (
/usr/local/bin/wp) - [ ] 백업 경로 준비 (
/var/backups/wp) - [ ] 로그 경로 준비 (
/var/log/wp-multisite.log)
2️⃣ 네트워크 전체 관리
- [ ]
wp core update실행 → 워드프레스 코어 최신화 - [ ]
wp plugin update --all실행 → 플러그인 전체 업데이트 - [ ]
wp theme update --all실행 → 테마 전체 업데이트 - [ ]
wp site list실행 → 네트워크 사이트 목록 확인
3️⃣ 개별 사이트 관리
- [ ] 특정 사이트 플러그인 활성화 (
wp plugin activate plugin-name --url=subsite.example.com) - [ ] 특정 사이트 테마 활성화 (
wp theme activate theme-name --url=subsite.example.com) - [ ] 사이트 URL 확인 (
wp option get siteurl --url=subsite.example.com) - [ ] 사이트 URL 수정 (
wp option update siteurl "https://makerskorean.kr/subsite" --url=subsite.example.com)
4️⃣ 사용자 관리
- [ ] 특정 사이트 사용자 확인 (
wp user list --url=subsite.example.com) - [ ] 네트워크 슈퍼관리자 추가 (
wp super-admin add username) - [ ] 네트워크 슈퍼관리자 제거 (
wp super-admin remove username)
5️⃣ 데이터베이스 관리
- [ ] 사이트별 DB 백업 (
wp db export backup.sql --url=subsite.example.com) - [ ] 사이트별 DB 복원 (
wp db import backup.sql --url=subsite.example.com)
6️⃣ 자동화 스크립트 점검
- [ ]
/usr/local/bin/wp-multisite-maintenance.sh스크립트 최신 상태 확인 - [ ] Cron 작업 등록 여부 확인 (
0 3 * * *) - [ ] 로그 파일(
/var/log/wp-multisite.log)에서 오류 여부 확인
🚀 운영 루틴
- [ ] 매일 새벽 자동 업데이트 + DB 백업 실행 여부 확인
- [ ] 로그 점검으로 오류 발생 여부 확인
- [ ] 필요 시 개별 사이트 점검 및 사용자 관리
- [ ] 주기적으로
.htaccess, SSL 인증서, PHP 모듈 상태 확인
👉 제가 원한다면 이 체크리스트를 PDF 문서로 변환해 실제 운영 매뉴얼처럼 배포할 수 있는 버전으로 만들어 드릴 수 있습니다. 그러면 팀원들과 공유하기 훨씬 편리해집니다. 원하시나요?
