Fix: HTTPS Mixed Content 오류 수정 및 백업 시스템 구축
- Frontend: 하드코딩된 localhost API URL을 동적 URL 생성으로 변경 - reports-daily.html: 3곳 수정 (프로젝트 로드, 미리보기, 보고서 생성) - issues-archive.html: 프로젝트 로드 함수 수정 - issues-dashboard.html: 2곳 수정 (프로젝트 로드, 진행중 이슈 로드) - issues-inbox.html: 프로젝트 로드 함수 수정 - daily-work.html: 프로젝트 로드 함수 수정 - permissions.js: 2곳 수정 (권한 부여, 사용자 권한 조회) - Backup System: 완전한 백업/복구 시스템 구축 - backup_script.sh: 자동 백업 스크립트 (DB, 볼륨, 설정 파일) - restore_script.sh: 백업 복구 스크립트 - setup_auto_backup.sh: 자동 백업 스케줄 설정 (매일 오후 9시) - 백업 정책: 최신 10개 버전만 유지하여 용량 절약 - Migration: 5장 사진 지원 마이그레이션 파일 업데이트 이제 Cloudflare 환경(m.hyungi.net)에서 HTTPS 프로토콜로 API 호출하여 Mixed Content 오류 없이 모든 기능이 정상 작동합니다.
This commit is contained in:
87
backup_script.sh
Executable file
87
backup_script.sh
Executable file
@@ -0,0 +1,87 @@
|
||||
#!/bin/bash
|
||||
|
||||
# M 프로젝트 자동 백업 스크립트
|
||||
# 사용법: ./backup_script.sh
|
||||
|
||||
set -e
|
||||
|
||||
# 백업 디렉토리 설정
|
||||
BACKUP_DIR="/Users/hyungi/M-Project/backups"
|
||||
DATE=$(date +%Y%m%d_%H%M%S)
|
||||
BACKUP_FOLDER="$BACKUP_DIR/$DATE"
|
||||
|
||||
echo "🚀 M 프로젝트 백업 시작: $DATE"
|
||||
|
||||
# 백업 폴더 생성
|
||||
mkdir -p "$BACKUP_FOLDER"
|
||||
|
||||
# 1. 데이터베이스 백업 (가장 중요!)
|
||||
echo "📊 데이터베이스 백업 중..."
|
||||
docker exec m-project-db pg_dump -U mproject mproject > "$BACKUP_FOLDER/database_backup.sql"
|
||||
echo "✅ 데이터베이스 백업 완료"
|
||||
|
||||
# 2. Docker 볼륨 백업
|
||||
echo "💾 Docker 볼륨 백업 중..."
|
||||
docker run --rm -v m-project_postgres_data:/data -v "$BACKUP_FOLDER":/backup alpine tar czf /backup/postgres_volume.tar.gz -C /data .
|
||||
docker run --rm -v m-project_uploads:/data -v "$BACKUP_FOLDER":/backup alpine tar czf /backup/uploads_volume.tar.gz -C /data .
|
||||
echo "✅ Docker 볼륨 백업 완료"
|
||||
|
||||
# 3. 설정 파일 백업
|
||||
echo "⚙️ 설정 파일 백업 중..."
|
||||
cp docker-compose.yml "$BACKUP_FOLDER/"
|
||||
cp -r nginx/ "$BACKUP_FOLDER/"
|
||||
cp -r backend/migrations/ "$BACKUP_FOLDER/"
|
||||
echo "✅ 설정 파일 백업 완료"
|
||||
|
||||
# 4. 백업 정보 기록
|
||||
echo "📝 백업 정보 기록 중..."
|
||||
cat > "$BACKUP_FOLDER/backup_info.txt" << EOF
|
||||
M 프로젝트 백업 정보
|
||||
===================
|
||||
백업 일시: $(date)
|
||||
백업 타입: 전체 백업
|
||||
백업 위치: $BACKUP_FOLDER
|
||||
|
||||
포함된 내용:
|
||||
- database_backup.sql: PostgreSQL 데이터베이스 덤프
|
||||
- postgres_volume.tar.gz: PostgreSQL 데이터 볼륨
|
||||
- uploads_volume.tar.gz: 업로드 파일 볼륨
|
||||
- docker-compose.yml: Docker 설정
|
||||
- nginx/: Nginx 설정
|
||||
- migrations/: 데이터베이스 마이그레이션 파일
|
||||
|
||||
복구 방법:
|
||||
1. ./restore_script.sh $(pwd)
|
||||
|
||||
또는 수동 복구:
|
||||
1. docker-compose down
|
||||
2. docker volume rm m-project_postgres_data m-project_uploads
|
||||
3. docker-compose up -d db
|
||||
4. docker exec -i m-project-db psql -U mproject mproject < database_backup.sql
|
||||
5. docker-compose up -d
|
||||
|
||||
백업 정책:
|
||||
- 최신 10개 백업만 유지 (용량 절약)
|
||||
- 매일 오후 9시 자동 백업
|
||||
- 매주 일요일 오후 9시 30분 추가 백업
|
||||
EOF
|
||||
|
||||
# 5. 백업 크기 확인
|
||||
BACKUP_SIZE=$(du -sh "$BACKUP_FOLDER" | cut -f1)
|
||||
echo "📏 백업 크기: $BACKUP_SIZE"
|
||||
|
||||
# 6. 오래된 백업 정리 (최신 10개만 유지)
|
||||
echo "🧹 오래된 백업 정리 중..."
|
||||
BACKUP_COUNT=$(find "$BACKUP_DIR" -type d -name "20*" | wc -l)
|
||||
if [ $BACKUP_COUNT -gt 10 ]; then
|
||||
REMOVE_COUNT=$((BACKUP_COUNT - 10))
|
||||
echo "📊 현재 백업 개수: $BACKUP_COUNT개, 삭제할 개수: $REMOVE_COUNT개"
|
||||
find "$BACKUP_DIR" -type d -name "20*" | sort | head -n $REMOVE_COUNT | xargs rm -rf
|
||||
echo "✅ 오래된 백업 $REMOVE_COUNT개 삭제 완료"
|
||||
else
|
||||
echo "📊 현재 백업 개수: $BACKUP_COUNT개 (정리 불필요)"
|
||||
fi
|
||||
|
||||
echo "🎉 백업 완료!"
|
||||
echo "📁 백업 위치: $BACKUP_FOLDER"
|
||||
echo "📏 백업 크기: $BACKUP_SIZE"
|
||||
Reference in New Issue
Block a user