T43+T44 장부압축 원자rename + 세대백업 수리
개요
집사회 티켓 T43(원자적 압축)+T44(세대 백업) 통합 수리. 대상: /Users/ef/crowny-deacon/장부압축.한선, org.crowny.deacon-recycle.plist
무엇을 했는지
- T43: 압축하기()가 결과를
경로.tmp-압축에 먼저 쓰고 mv -f로 원자 rename하도록 변경 (기존은 원본을 직접 덮어써 크래시/동시접근 시 파손 위험).
- T43: deacon-recycle plist 실행 순서를
launchctl bootout org.crowny.deacon → sleep 1 → 장부압축 실행 → launchctl bootstrap org.crowny.deacon으로 변경. 기존은 압축 후 kickstart만 해서, 서버가 압축 도중에도 append를 계속해 유실 가능했음.
- T44: 백업하기()를 고정 접미사(.bak-압축)에서
.bak-압축-YYYYMMDD-HHMMSS 세대 백업으로 변경 (date 커맨드는 체계()로 우회, crownyc 자체 날짜함수 없음 대비).
- T44: 오래된백업정리() 추가 — 보존세대=7, 파일명 정렬(ls | sort) 후 초과분(오래된 것부터) rm.
검증
- 컴파일: hanseonc_high 장부압축.한선 → 장부압축.toau BUILD_OK
- plutil -lint org.crowny.deacon-recycle.plist → OK
- 격리 사본(scratchpad)에서 티켓/미션 psv 각 6행(중복 ID 포함) → 압축 후 3행, 유니크 last-wins 값·최초등장순서 보존 확인
- 세대백업 정리: 가짜 9개+실행 2개=11개 상태에서 재실행 → 보존7개, 오래된 것부터 삭제 확인
관련 파일
- /Users/ef/crowny-deacon/장부압축.한선
- /Users/ef/crowny-deacon/장부압축.toau
- /Users/ef/Library/LaunchAgents/org.crowny.deacon-recycle.plist
잔여 이슈