Syncthing은 두 기기에서 같은 파일을 동시에 고치면 한쪽을 충돌 파일로 남기고, 기본 설정으로는 옛 버전을 보관하지 않습니다. 공식 문서 기준으로 충돌 파일 규칙, 버전 관리, 폴더 종류, 동기화 제외 파일 설정을 정리했습니다.
Syncthing은 두 기기에서 같은 파일을 동시에 고치면 한쪽을 충돌 파일로 남기고, 기본 설정으로는 옛 버전을 보관하지 않습니다. 공식 문서 기준으로 충돌 파일 규칙, 버전 관리, 폴더 종류, 동기화 제외 파일 설정을 정리했습니다.
Syncthing 충돌 파일 규칙
두 기기에서 같은 파일을 동시에 고쳐 내용이 다르면, Syncthing은 한쪽 파일 이름을 ‘원래이름.sync-conflict-날짜-시각-기기.확장자’로 바꿉니다. 수정 시각이 더 오래된 쪽이 충돌 파일이 됩니다. 수정과 삭제가 부딪쳐 삭제가 이기면 수정본이 충돌 파일로 남습니다. 이렇게 생긴 충돌 파일은 일반 파일처럼 다른 기기로도 동기화되므로, 어느 쪽을 남길지 확인하고 직접 정리해야 합니다. 대소문자만 다른 파일 이름은 Windows나 Mac에서 같은 파일로 보기 때문에 ‘case conflict’ 오류로 표시됩니다.
Syncthing 파일 버전 관리
파일 버전 관리는 폴더마다, 기기마다 켭니다. 기본값은 ‘버전 관리 없음’입니다.
| 구분 | 내용 |
|---|---|
| 기본값 | 버전 관리 없음(옛 파일 보관 안 함) |
| 보관 대상 | 다른 기기에서 온 변경·삭제만 |
| 보관 안 되는 것 | 내 PC에서 직접 고친 파일의 옛 버전 |
| 보관 위치 | 공유 폴더 안 .stversions |
| 방식 | 휴지통 · 단순 · 시차 · 외부 |
| 단순 방식 | ‘Keep Versions’에 남길 개수 지정 |
Syncthing 폴더 종류 세 가지
폴더 종류는 세 가지입니다. 기본인 송수신(Send & Receive)은 변경을 보내고 받습니다. 송신 전용(Send Only)은 다른 기기의 변경을 받아도 적용하지 않고, 어긋나면 빨간 ‘Override Changes’ 버튼이 생깁니다. 이 버튼을 누르면 이 기기의 상태로 다른 기기를 덮어쓰고, 이 기기에 없는 파일은 지웁니다. 수신 전용(Receive Only)은 다른 기기의 변경만 적용하고 내 변경은 보내지 않으며, ‘Revert Local Changes’를 누르면 내가 추가한 파일은 지워지고 고친 파일은 다시 받아집니다.
Syncthing 동기화 제외 파일
동기화하지 않을 파일은 동기화 폴더 맨 위에 .stignore 파일을 만들어 패턴을 적습니다. 다른 위치에 둔 .stignore는 적용되지 않고, .stignore 자체는 다른 기기로 동기화되지 않아 기기마다 따로 만들어야 합니다. 파일은 UTF-8로 저장하고, 위에서부터 처음 맞는 패턴이 적용됩니다. 별표(*)는 폴더 구분자를 넘지 않고, 별표 두 개(**)는 하위 폴더까지 맞춥니다. 이름에 대괄호가 든 파일은 Windows에서 | 문자로 대괄호를 감싸 적습니다.
Syncthing을 받기 전에 먼저 알아 둘 것은 휴대폰 지원입니다. 공식 Android 앱은 2024년 12월 버전을 끝으로 개발이 중단됐고 iOS는 공식 지원 계획이 없어, 공식 배포판은 PC와 서버용입니다. 무엇을 받을지 모르겠으면 운영체제의 Intel/AMD (64-bit)를 고르고, 첫 실행 뒤 열리는 127.0.0.1:8384 관리 화면에서 설정합니다. 두 기기를 연결할 때는 양쪽 모두 상대 기기 ID를 등록해야 합니다. 같은 파일을 동시에 고치면 sync-conflict 파일이 생기고, 버전 관리는 기본으로 꺼져 있어 직접 켜야 합니다. 삭제도 모든 기기로 퍼지는 동기화 프로그램이라 백업은 따로 챙기고, 연결이 느리면 22000·21027 포트와 Windows 네트워크 프로필을 확인합니다.