[배경상황]
NiFi로 GetSFTP로 원격서버에 접속이 불가함.
서버 CLI에서 ssh, sftp는 모두 정상.
그런데 파일은 계속, 주기적으로 받아와야 하는 상황.
최대한 NiFi를 활용하는 방법은 무엇일까,
찾다가 'ExecuteProcess'를 활용함.
[ExecuteProcess - 결론]
NiFi에서 서버 CLI명령어를 수행 가능
그래서 이 프로세스를 활용해서, 간단히 rsync를 실행함.
[ExecuteProcess - Add Processor]
Add Processor - ExecuteProcess 추가
[ExecuteProcess - PROPERTIES]
Command : /usr/bin/rsync // rsync만 적어도 상관없지만, 혹시나 해서 which로 확인한 결과
Command Arguments : -avz --remove-source-files [source] [target]
Argument Delimiter : [space] // 기본적으로 space(한칸 빈칸)으로 되어있어서 수정 불필요
[ExecuteProcess - RELATIONSHIPS]
사실상 단독으로 실행되니, 'terminate'에 체크
[ExecuteProcess - Run Once, Data Provenance]
Run Once로 한번 실행하고,
View data provenance,
'i' 클릭 > CONTENT > VIEW에서 실행 결과 확인 가능.