DOCS/journey/troubleshooting/250801_크론잡로그동기화설정.md

2.3 KiB

250801 크론잡 로그 동기화 설정

tags: [logs, sshfs, cron, sync, infra]

상위 원칙:

배경

  • Docker와 SSHFS(SSH Filesystem) 직접 결합으로 중앙 로그 저장 구조를 만들려 했지만, 마운트 충돌과 권한 불일치로 실패했다.
  • 51124 SSD에 먼저 로그를 기록한 뒤, 51123 HDD로 배치 동기화하는 구조가 더 운영 가능하다고 판단했다.

관련 문서

확인된 사실

  1. Docker 볼륨이 SSHFS 마운트 포인트와 직접 충돌했다.
  • 기존 기록: mkdir /mnt/51123logs: file exists
  1. SSHFS 권한은 UID/GID 정합성에 민감했다.
  • admin(1001)로 마운트하면 컨테이너 사용자 999와 충돌했다.
  • 권한 정합화 없이는 rsync 임시 파일 생성도 실패했다.
  1. 배치 동기화는 실제로 성공했다.
  • 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 직접 결합보다 배치 동기화가 더 안정적이었다는 점이다.
  • 외부 저장소나 원격 마운트와 컨테이너 런타임을 직접 묶을 때는 권한, 상위 디렉토리 생성, 마운트 포인트 충돌을 먼저 검증해야 한다.

전후 관계 문서