ftp

FTP 서버에서 파일 시스템을 탐색하거나, 쿼리 결과를 파일로 전송할 수 있습니다.

문법

파일 시스템 목록 조회

ftp PROFILE ls [encoding=CHARSET] PATH

텍스트 기반 또는 JSON 형식 파일 읽기

ftp FTP_PROFILE cat [encoding=CHARSET] [format=json] [limit=INT] [offset=INT] PATH

특정한 레코드의 필드 값을 텍스트, CSV, 또는 JSON 형식으로 파일 전송

ftp FTP_PROFILE put [append=t] [overwrite=t] [encoding=CHARSET] [fields=FIELD,...] [format={json|csv}] PATH
하위 명령
cat
FTP 서버에서 PATH로 지정된 경로의 파일 내용을 읽어와 line 필드에 출력합니다. 출력할 수 있는 파일 형식은 텍스트, CSV, JSON입니다.
ls
FTP 서버에서 PATH로 지정된 경로의 파일 목록을 보여줍니다.
put
fields 옵션으로 지정된 필드의 값들을 PATH로 지정된 경로에 파일로 전송합니다. *텍스트 형식일 때 필드는 탭으로 구분, 빈 필드는 '-'으로 표시
  • CSV 형식일 때 첫번째 줄은 필드 이름 목록이며, 빈 필드는 빈 문자열로 표시
옵션
append=BOOL
쿼리 결과를 FTP 서버에 전송할 때 사용할 수 있는 옵션으로, PATH로 지정된 파일이 있으면 파일에 이어서 씁니다. overwrite=t와 함께 사용할 수 없습니다.
overwrite=t
쿼리 결과를 FTP 서버에 전송할 때 사용할 수 있는 옵션으로, PATH로 지정된 파일이 있으면 파일을 무시하고 덮어씁니다. append=t와 함께 사용할 수 없습니다.
encoding=CHARSET
파일 인코딩 (기본값: utf-8). 다음 문서에 등록된 Preferred MIME Name이나 Aliases를 사용합니다: https://www.iana.org/assignments/character-sets/character-sets.xhtml
fields=,FIELD,...
FTP 서버에 전송할 필드 목록. 구분자로 쉼표(,)를 사용합니다.
  • 텍스트 또는 CSV 파일로 전송할 때 이 옵션을 생략하면 line 필드를 출력합니다.

  • JSON 파일로 전송할 때 이 옵션을 생략하면 모든 필드를 출력합니다.

    Caution
    appent=t 옵션을 사용할 때 데이터의 일관성을 유지할 수 있도록 항상 fields 옵션의 목록 순서를 동일하게 유지해주세요.
format={json|csv}
조회/전송할 파일 형식. 텍스트 파일을 조회, 전송할 때에는 생략합니다.
  • CSV 파일을 조회할 때에 이 옵션은 필요 없습니다.
  • CSV 파일을 전송하려면 format=csv을 지정해야 합니다.
  • JSON 파일을 조회하거나 전송할 때에는 format=json을 지정해야 합니다.
limit=INT
FTP 서버에서 파일을 읽어올 때 출력할 행의 개수(기본값: 무제한)
offset=INT
FTP 서버에서 파일을 읽을 때 건너뛸 행 개수(기본값: 0)
개체
PROFILE
FTP 접속 프로파일. 프로파일은 웹 콘솔에서 구성할 수 있습니다.
Note
ENT-3.10.2009.0. SNR-3.1.2008.0 배포 버전부터 FTP 프로파일이 접속 프로파일에 통합되었습니다.
- (ENT, STD) 시스템 설정 > 접속 프로파일
- (SNR) 시스템 > 접속 프로파일
PATH
디렉터리 또는 파일의 절대 경로. 전송할 때에는 디렉터리 경로가 아니라 단일 파일 경로를 입력해야 합니다. 파일을 조회할 때에 파일 경로에 와일드카드(*)를 사용하면 특정 문자열 패턴을 포함한 모든 파일을 한 번에 조회할 수 있습니다.

사용 예

  1. srv 프로파일 설정 후, 원격 디렉터리 조회

    ftp srv ls /data/logs
    

    출력 필드들은 각각 아래의 의미를 갖습니다:

    • type(문자열): 디렉터리일 때 'dir', 파일일 때 'file'
    • name(문자열): 파일 이름
    • file_size(정수): 파일 용량, 디렉터리일 때 '0'
    • modified_at(날짜): 마지막 수정 시각
    • owner(문자열): 소유자
    • group(문자열): 소유 그룹
  2. logpresso.sh 파일의 첫 5행을 조회

    ftp srv cat limit=5 /logpresso.sh
    
  3. /sample.json 파일을 JSON 형식으로 파싱하여 조회

    ftp srv cat format=json /sample.json
    
  4. JMX 클래스 로딩 로그 중 LoadedClassCount, UnloadedClassCount만 /tmp/output.txt 파일에 출력

    table classloading
    | ftp srv put fields=UnloadedClassCount,LoadedClassCount /tmp/output.txt
    
  5. JMX 클래스 로딩 로그를 JSON 파일로 출력

    table classloading 
    | ftp srv put format=json /tmp/classloading.json
    
  6. JMX 클래스 로딩 로그 중 LoadedClassCount, UnloadedClassCount만 /tmp/output.json 파일에 출력

    table classloading 
    | ftp srv put format=json
    fields=LoadedClassCount,UnloadedClassCount /tmp/classloading.json