2.3 KiB
2.3 KiB
250801 크론잡 로그 동기화 설정
tags: [logs, sshfs, cron, sync, infra]
상위 원칙:
배경
- Docker와 SSHFS(SSH Filesystem) 직접 결합으로 중앙 로그 저장 구조를 만들려 했지만, 마운트 충돌과 권한 불일치로 실패했다.
- 51124 SSD에 먼저 로그를 기록한 뒤, 51123 HDD로 배치 동기화하는 구조가 더 운영 가능하다고 판단했다.
관련 문서
확인된 사실
- Docker 볼륨이 SSHFS 마운트 포인트와 직접 충돌했다.
- 기존 기록:
mkdir /mnt/51123logs: file exists
- SSHFS 권한은 UID/GID 정합성에 민감했다.
admin(1001)로 마운트하면 컨테이너 사용자999와 충돌했다.- 권한 정합화 없이는
rsync임시 파일 생성도 실패했다.
- 배치 동기화는 실제로 성공했다.
- 51124 서비스 로그를 51123
/mnt/hdd/logs/51124-server/로 동기화한 기록이 남아 있다. - 매일 새벽 3시 크론 실행 구조가 당시 운영안으로 채택됐다.
실제 적용 구조
51124 원본
/home/admin/ivada_project/*/logs/
51123 백업
/mnt/hdd/logs/51124-server/*
동기화 방식
- SSHFS 마운트 경로를 직접 Docker 볼륨으로 쓰지 않고,
rsync기반 크론 배치로 넘긴다.
결론
- 이 이슈의 핵심 교훈은
Docker + SSHFS 직접 결합보다 배치 동기화가 더 안정적이었다는 점이다. - 외부 저장소나 원격 마운트와 컨테이너 런타임을 직접 묶을 때는 권한, 상위 디렉토리 생성, 마운트 포인트 충돌을 먼저 검증해야 한다.