작성
·
1K
0
답변 1
0
안녕하세요! 빅디 입니다.
실행하신 아래 명령(mv)은 이동 명령이니깐 SmartCarStatusInfo_20160101.txt 파일이 이동 되고, 해당 파일이 있었던 SmartCar 디렉토리에는 없는것이 정상입니다.
mv /home/pilot-pjt/working/SmartCar/SmartCarStatusInfo_20160101.txt
김찬범 님이 실행하신 전체 명령은 아마도 다음과 같았을 텐데요..
$ mv /home/pilot-pjt/working/SmartCar/SmartCarStatusInfo_20160101.txt /home/pilot-pjt/working/car-batch-log/
위의 mv 명령은..
"SmartCarStatusInfo_20160101.txt" 파일을 "/home/pilot-pjt/working/car-batch-log/" 디렉토리로 이동 시키라는 명령입니다.
이 mv 명령이 정상적으로 수행 되었다면 /home/pilot-pjt/working/car-batch-log 경로에 해당 파일이 있을 겁니다.
리눅스 환경 및 명령이 처음이면 이러한 내용들이 다소 혼란스러울 수 있습니다.
하지만 파일럿 프로젝트를 완주 하실때 쯤이면, 익숙해져서 실전 프로젝트에선 많은 도움이 되실 겁니다.
- 빅디 드림
아~네!! 잘알겠습니다.
처음 문의 하셨을때 아마도 위와같은 상황 이었을거라 생각도 했습니다. ^^
결론부터 말씀드리자면, 정상적인 상황입니다.
car-batch-log 디렉토리는 플럼의 SpoolDir 컴포넌트가 파일이벤트를 모니터링 하는 폴더입니다.
플럼 에이전트(SmartCar_Agent)를 등록하고 플럼이 실행중이라면, car-batch-log 디렉토리의 파일(SmartCarStatusInfo_20160101.txt)을 플럼이 수집해서 타겟영역으로 전송하고, 전송이 완료 되면 car-batch-log 디렉토리의 파일(SmartCarStatusInfo_20160101.txt)을 삭제하는 과정이 진행된겁니다. 추가로 해당 단계에선 타겟영역으로 전송 하진 않고, 수집한 파일의 데이터를 로그파일에 쓰고 종료되는 프로세스만 진행 됩니다.
관련 내용은 "5. 수집 파일럿 실행 3단계 - 플럼 기능 구현" 강의에서 설명 하고 있으니, 다시 한번 봐주시면 될 것 같습니다.
- 빅디 드림
답변의 내용은 확인하였고 제가 잘못 질문을 드린 것 같네요. SmartCar 폴더의 파일을 mv명령어를 통해 car-batch-log 폴더로 이동한다는 것은 알고 있습니다. 하지만 car-batch-log 폴더에도 파일이 없더군요.
1. mv 명령어를 통해 "SmartCarStatusInfo_20160101.txt" 파일을 "/home/pilot-pjt/working/car-batch-log/" 디렉토리로 이동시켰다.
2. cd 명령어로 car-batch-log에 들어갔다.
3. ls, ll, ls -ltr 명령어를 통해 디렉토리 내부에 있는 파일 내용 확인 시 아무것도 나오지 않는다.(total 0으로 표시되며 폴더 내부에 파일이 없다고 나옴)
4. 파일이 증발해버려서 gs -ef 명령어로 실행중인 프로세스를 kill 한 후 파일을 재생성하기 위해 다시 java -cp 명령어 진행
5. 1번에서 4번 내용을 반복(이상을 감지)
6. car-batch-log 폴더에 파일이 생성되는 것이 확인되지 않아 파일을 직접 넣기로 함(gui 환경으로 변환)
7. gui환경에서 SmartCar 폴더 내부에 있는 "SmartCarStatusInfo_20160101.txt" 파일을 복사 후 car-batch-log에 다이렉트로 복사 진행
8. car-batch-log에 "SmartCarStatusInfo_20160101.txt" 파일이 생성되는 것을 확인
9. 약 10~20초 정도 지나면 "SmartCarStatusInfo_20160101.txt" 파일이 사라지는 것(삭제되는 것)을 확인