일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 카메라
- 푸초
- 렌즈
- 하늘풍경
- 50mm
- daily
- AF-S 18-35mm
- 85mm 1.8g
- AF-S NIKKOR 18-35mm f/3.5-4.5G ED
- 일상
- Photo
- AF-S NIKKOR 85mm f/1.8G
- nikkor
- D750
- af-s 18-35
- 풍경
- 니콘
- 꽃
- 18-35mm
- 여름성경학교
- camera
- Nikon
- 사진
- AF-S NIKKOR 50mm f/1.8G
- 출사
- 50mm f/1.8G
- 85mm f/1.8G
- 경치
- 푸른초장교회
- spring
Archives
- Today
- Total
병갈이 블록
JAVA - 백업파일 일괄 수정 배치프로그램 개발(3) 본문
오늘의 작업.
- 프로그램 개선.
- 쉘 실행환경 설정
1. 프로그램 개선작업 진행.
- 어떠한 문제로 파일 목록에 포함되어 프로그램이 읽었으나 .exists() 실행 시 false가 떨어지는 파일들이 존재했다. 이에 대한 예외사항 추가 진행.
- 이미지 확장자 추가. iPhone Raw 이미지파일 확장자 DNG 추가.
- 프로그램 처리 시 로그 추가.
2. 쉘 실행환경 설정
터미널에서 쉘 스크립트를 실행하면 정상적으로 java를 실행하여 프로그램이 수행된다. 그런데 crontab으로 실행될 때만 꼭 java: command not found 에러가 발생을 한다. 동일한 쉘 스크립트를 수행했는데 왜 java를 인식하지 못할까? 구글링을 좀 해보니 crontab은 PATH를 스케줄 설정 파일 내에 별도로 두고 있었다. 그리고 그 PATH에 있는 경로만 접근 가능한 것 같다. java의 bin 경로가 해당 파일 내에 없어서 생긴 문제다.
먼저 /usr/local/bin 경로 아래 임의로 심볼릭 링크를 하나 걸어둔다.(혹시 몰라서 심볼릭 링크를 만들어서 그 경로를 crontab에 추가했다.)
$ ln -s /자바폴더경로/bin /usr/local/bin/자바임의폴더명/bin
crontab 파일>
MAILTO=""
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin:/usr/local/bin/자바임의폴더명/bin
...
저렇게 추가해준다.
그러고 실행해보면 빰~ 실행됨.
자, 우선 전체 파일을 한번 돌려본다.
약 15초 정도가 걸렸다.
정상 실행되는걸 확인 했으니, 이제 운영을 위해서 매일 새벽 5시에 스케줄을 걸어두었다.
그리고 로그파일도 날짜별로 생성되도록 수정하였다.
backup_photo_rename_$(date '+%Y-%m-%d').log
이제, 눈 뜨고 나서 백업해둔 파일도 잘 분류되어 들어갔는지 확인해보면 끝.
추가적으로 개선해야 할 부분들도 계속 체크하고 리스트업을 해서 수정할 예정이다.
'개발공부 이야기(New) > 이것 저것 만들어보자' 카테고리의 다른 글
JAVA, Node.js - 배치관리 사이트 만들어보자(0) (0) | 2021.02.23 |
---|---|
JAVA - 백업파일 일괄 수정 배치프로그램 개발(2) (0) | 2021.02.17 |
JAVA - 백업파일 일괄 수정 배치프로그램 개발(1) (0) | 2021.02.16 |
JAVA - 백업파일 일괄 수정 배치프로그램 개발(0) (0) | 2021.02.15 |
Comments