Deduplicate: Remove redundant log storage solutions - keep cron job as final implementation
This commit is contained in:
parent
8ad3a038a5
commit
7b483b9b6d
@ -88,66 +88,11 @@ sudo chown -R 999:999 /mnt/hdd/logs/51124-server/
|
||||
```
|
||||
- 여전히 디렉토리는 수동 생성 필요
|
||||
|
||||
## 최종 해결책: 템플릿 방식
|
||||
## 제안된 해결책 (미구현)
|
||||
|
||||
### 1. docker-compose.yml 템플릿화
|
||||
```yaml
|
||||
services:
|
||||
app:
|
||||
volumes:
|
||||
- ${LOG_ROOT:-./logs}/${ROBEING_NAME:-${COMPOSE_PROJECT_NAME}}:/code/logs:rw
|
||||
```
|
||||
|
||||
### 2. .env.template 생성
|
||||
```bash
|
||||
# .env.template
|
||||
LOG_ROOT=/mnt/51123logs
|
||||
ROBEING_NAME=__ROBEING__
|
||||
```
|
||||
|
||||
### 3. 배포 자동화 스크립트
|
||||
```bash
|
||||
#!/bin/bash
|
||||
# deploy_robeing.sh rb10508_test
|
||||
set -e
|
||||
ROBEING=$1
|
||||
LOG_ROOT=/mnt/51123logs
|
||||
|
||||
sudo mkdir -p ${LOG_ROOT}/${ROBEING}
|
||||
sudo chown 999:docker ${LOG_ROOT}/${ROBEING}
|
||||
|
||||
cp .env.template .env
|
||||
sed -i "s/__ROBEING__/${ROBEING}/" .env
|
||||
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
### 4. CI/CD 통합 (Gitea Actions)
|
||||
```yaml
|
||||
- name: Create log dir
|
||||
run: |
|
||||
ssh admin@192.168.219.52 "sudo mkdir -p /mnt/51123logs/${{ env.PROJECT }}"
|
||||
ssh admin@192.168.219.52 "sudo chown 999:docker /mnt/51123logs/${{ env.PROJECT }}"
|
||||
- name: Deploy
|
||||
run: |
|
||||
sed -i "s/__ROBEING__/${{ env.PROJECT }}/" .env
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
### 5. 기존 로빙 마이그레이션
|
||||
```bash
|
||||
for r in rb8001 rb10408 rb10508_test; do
|
||||
sudo mkdir -p /mnt/51123logs/$r
|
||||
sudo chown 999:docker /mnt/51123logs/$r
|
||||
mv /home/admin/ivada_project/$r/logs/* /mnt/51123logs/$r/ 2>/dev/null || true
|
||||
done
|
||||
```
|
||||
|
||||
## 템플릿 방식의 장점
|
||||
1. **수동 작업 제로**: 스크립트 한 번 실행으로 끝
|
||||
2. **환경별 자동 전환**: 로컬에선 `./logs`, 서버에선 `/mnt/51123logs`
|
||||
3. **확장성**: 새 로빙 추가 시 이름만 변경
|
||||
4. **CI/CD 통합 가능**: 완전 자동화
|
||||
**참고**: 이 템플릿 방식은 제안만 되었고, 실제로는 250801 크론잡 방식으로 해결됨.
|
||||
- 크론잡으로 매일 새벽 3시 rsync 동기화
|
||||
- 자세한 내용은 [250801_claude_크론잡로그동기화설정.md](./250801_claude_크론잡로그동기화설정.md) 참조
|
||||
|
||||
## 교훈
|
||||
1. **서버 간 통신은 항상 SSH 키 먼저**: 51123-51124 간 SSH 키가 설정되어 있지 않았음
|
||||
@ -158,12 +103,10 @@ done
|
||||
6. **권한 문제는 미리 해결**: Docker UID/GID 차이 주의
|
||||
7. **자동화는 필수**: 수동 작업은 실수의 원인
|
||||
|
||||
## 남은 작업
|
||||
1. 기존 로빙들 마이그레이션
|
||||
2. 배포 스크립트 작성
|
||||
3. Gitea Actions 워크플로우 수정
|
||||
4. 로그 로테이션 정책 설정
|
||||
5. 영구 마운트 설정 (/etc/fstab)
|
||||
## 실제 구현 상태
|
||||
- **250801 크론잡 방식으로 구현 완료**
|
||||
- 매일 새벽 3시 자동 동기화 중
|
||||
- 7일 이상 로컬 로그 자동 삭제
|
||||
|
||||
---
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user