FTP 서버가 있습니다. 파일이 거기에 도착합니다 — 때로는 매시간, 때로는 매일. 그리고 그 파일들이 Mac에 필요합니다. 과정은 항상 같습니다: FTP 클라이언트를 열고, 연결하고, 폴더로 이동하고, 새 파일을 확인하고, 다운로드합니다. 클라이언트를 닫습니다. 하루에 여섯 번 반복합니다.
작동하긴 합니다. 하지만 집중을 방해하고, 반복적이며, 한 번이라도 빠뜨리면 뒤처집니다. 더 좋은 방법이 있습니다 — 한 번 설정해두고 실제 업무에 집중하는 동안 백그라운드에서 자동으로 실행되도록 하는 것입니다.
수동 방식(과 그것이 확장되지 않는 이유)
일반적인 수동 워크플로는 이렇습니다:
- 저장된 자격증명으로 FTP 클라이언트를 열고 서버에 연결
- 새 파일이 도착하는 원격 폴더로 이동
- 현재 파일과 이미 로컬에 있는 파일을 시각적으로 비교
- 새 파일을 선택하고 다운로드
- 연결 해제 후 클라이언트 닫기
가끔 프로젝트 자산을 한 번 다운로드하는 경우라면 이 방식도 충분합니다. 하지만 파일이 자주 도착하고 빠르게 처리해야 하는 워크플로에서는 수동 방식이 금방 한계에 부딪힙니다. 계속 반복하거나 뒤처지거나 둘 중 하나입니다. 클라이언트가 납품물을 기다리거나 시스템이 파일의 제때 도착에 의존하는 경우 어느 쪽도 허용되지 않습니다.
셸 스크립트와 예약 작업으로 해결하려는 시도도 있지만, 이 방식은 기술적인 설정이 필요하고, 조용히 실패하며, UI나 알림이 없습니다. 무언가 잘못되어도 누군가 파일이 왜 안 왔냐고 물어볼 때까지 모르는 경우가 많습니다.
실제로 필요한 것
이 문제를 제대로 해결하는 것은 원격 FTP 폴더를 지속적으로 모니터링하고 새 파일을 자동으로 다운로드하는 도구입니다 — 개입 없이.
로컬 모니터링과 원격 모니터링의 중요한 차이가 있습니다. 로컬 Mac 폴더에서는 운영 체제가 파일이 변경될 때 즉시 알림을 받을 수 있습니다(macOS에서는 FSEvents라고 합니다). 원격 FTP 서버는 이 기능이 없습니다 — 단순한 파일 서버일 뿐, 클라이언트에 알림을 보낼 방법이 없습니다. 따라서 유일한 실용적인 방법은 폴링입니다: 주기적으로 서버에 "지난번 이후 새로운 게 있나요?"라고 묻는 것입니다.
올바른 폴링 간격, 기존 파일을 다시 다운로드하지 않기 위한 스마트한 비교, 적절한 오류 처리가 갖춰진다면 폴링 기반 모니터링은 매끄럽게 작동합니다. 간격을 설정하면(1분마다, 5분마다, 원하는 대로) 앱이 나머지를 보이지 않게 처리합니다.
FTPull로 FTP 자동 다운로드 설정하기
FTPull은 이를 위해 특별히 만들어진 macOS 메뉴 막대 앱입니다. 원격 FTP, SFTP, FTPS 폴더를 모니터링하고 새 파일을 자동으로 다운로드합니다. 실행 방법은 다음과 같습니다:
- FTPull을 다운로드하고 설치합니다. 표준 macOS 앱입니다 — 응용 프로그램으로 드래그하고 엽니다. 메뉴 막대에 아이콘이 나타납니다.
- 메뉴 막대 아이콘을 클릭하고 설정을 엽니다.
- 새 연결을 추가합니다. 서버의 호스트명(또는 IP), 포트, 사용자 이름, 비밀번호를 입력합니다. 프로토콜을 선택합니다: FTP, SFTP, 또는 FTPS.
- 원격 폴더를 설정합니다 — 새 파일이 나타나는 서버의 경로.
- 로컬 폴더를 설정합니다 — Mac에서 다운로드한 파일이 저장될 위치. 어떤 폴더든 선택할 수 있습니다.
- 폴링 간격을 설정합니다. 1분마다는 반응성이 높고, 5분마다는 네트워크 사용량이 적습니다. 워크플로에 맞게 선택하세요.
- 연결을 활성화합니다. 켜면 FTPull이 즉시 모니터링을 시작합니다.
끝입니다. FTPull은 일정에 따라 서버를 확인하고, 새 파일을 감지하고, 선택한 로컬 폴더에 다운로드합니다. 파일이 도착하면 macOS 알림이 전송됩니다.
알아두면 좋은 고급 옵션
대부분의 사용자에게는 기본 설정으로 충분합니다. 하지만 FTPull에는 실제 워크플로에서 중요한 몇 가지 옵션이 있습니다:
확장자 필터
원격 폴더에 다양한 파일 형식이 섞여 있지만 특정 형식만 필요하다면 확장자 필터를 설정하세요. FTPull에 .jpg와 .pdf 파일만 다운로드하도록 설정하면 나머지는 조용히 무시합니다. 같은 서버 공간을 다른 파일 형식을 저장하는 다른 프로세스와 공유할 때 특히 유용합니다.
최소 파일 크기
킬로바이트 단위로 최소 파일 크기를 설정하여 작은 파일 — 썸네일, 임시 파일, 0바이트 자리 표시자 — 을 제외합니다. 임계값 미만의 파일은 건너뜁니다.
일정 설정
FTPull은 특정 시간대와 요일로 모니터링을 제한할 수 있습니다. 파일이 업무 시간에만 도착한다면 새벽 3시에 폴링할 이유가 없습니다. 활성 일정(예: 오전 8시~오후 7시, 월~금)을 설정하면 FTPull이 그 시간 외에는 자동으로 일시 정지합니다.
다중 연결
여러 FTP 서버를 동시에 모니터링해야 하나요? 별도 연결로 추가하세요. 각각은 자체 자격증명, 폴더, 폴링 간격, 설정으로 독립적으로 실행됩니다. 하나의 메뉴 막대 아이콘으로 모두 관리됩니다.
전송 기록
FTPull은 다운로드된 모든 파일의 로그를 유지합니다 — 파일 이름, 크기, 서버, 타임스탬프. 언제 무엇이 도착했는지 감사하거나 누락된 파일을 문제 해결해야 할 때 기록 보기에서 확인할 수 있습니다.
보안 대안: SFTP와 FTPS
FTPull은 세 가지 일반적인 프로토콜을 모두 처리합니다:
FTP — 원래 프로토콜로 내부 네트워크와 레거시 호스팅에서 여전히 일반적입니다. 전송이 암호화되지 않아 신뢰할 수 있는 네트워크의 민감하지 않은 파일에는 괜찮지만 인터넷을 통한 기밀 내용에는 적합하지 않습니다.
SFTP (SSH 파일 전송 프로토콜) — 포트 22에서 SSH를 통해 실행됩니다. 프로토콜 수준에서 FTP와 완전히 다르지만 완전히 암호화되어 있으며 보안 전송의 현대적 표준입니다. 키 기반 인증도 지원하므로 비밀번호가 네트워크를 통해 전송되지 않습니다. 선택권이 있다면 SFTP를 사용하세요.
FTPS (TLS 위의 FTP) — TLS 암호화가 추가된 FTP입니다. 기존 FTP 인프라와 더 호환되지만 방화벽에서 더 복잡합니다. SFTP를 제공하지 않는 호스팅 제공자나 기업 서버에서 자주 요구됩니다. FTPull은 명시적(FTPES)과 암묵적 FTPS 모드를 모두 처리합니다.
FTPull에서 프로토콜 선택은 클릭 한 번입니다. 서버가 사용하는 프로토콜에 관계없이 나머지 설정은 동일합니다.
실행 후에는
설정이 완료되면 FTPull은 유휴 시 거의 CPU를 사용하지 않으면서 메뉴 막대에 있습니다. 신경 쓸 필요가 없습니다. 로컬 폴더에 파일이 나타나고 도착하면 알림을 받습니다. 그게 전부입니다 — 반복적인 작업을 자동화하는 핵심은 더 이상 그 작업을 생각하지 않아도 된다는 것입니다.
무언가 잘못되면 — 서버에 연결할 수 없거나, 인증이 실패하거나, 파일 전송 오류가 발생하면 — 바로 알 수 있습니다. FTPull은 오류 알림을 보내고 문제를 기록합니다. 메뉴 막대 아이콘이 한눈에 상태를 나타냅니다.