오류 상황
### test.sh
* * * * * echo "test script" > test.sh.log 2>&1
FTP로 test.lst 파일 올린 후
crontab test.lst 명령어 입력하여 크론탭 등록
정상 동작해야하는데 정상동작하지 않음
-#!bin/bash 설정해도 안됨
- PATH, HOME 등 환경변수 설정해도 안됨
- crontab 에서 바로 echo 실행해도 안됨, crontab -r롤 삭제했다가 다시 crontab -e로 echo 설정하면 동작함
오류 원인
FTP로 test.lst 파일을 올릴 때 binary 모드를 하지 않아서 개행 문자가 깨짐
vi -b test.lst 명령어로 test.lst를 binary 모드로 열어보면 문장 마지막에 ^M 이 붙어있는 것을 확인 할 수 있음
* ^M 이 붙어 있는 이유
윈도우에서 작성한 파일을 Unix/Linux상에 올릴때 윈도우에서는 CRLF 가 개행인데 Linux/Unix에서는 LF가 개행이라 나타나는 현상
상세 확인)) https://server-engineer.tistory.com/482
오류해결
해당 문자를 제거 후 다시 크론탭 등록하면 정상 동작함
FTP로 파일을 업로드할때 binary 모드로 파일을 업로드해야함
* 문자제거 명령어
vi로 파일을 연 후에 (여기서 ^는 숫자 6위의 특수문자가 아닌 리눅스 상의 컨트롤을 의미, mac에서는 command)
:%s/^M//g
* binary 모드로 파일 업로드
ftp {url}
binary
put test.lst
하루를 삽질했다... 다들 잘 해결하세요..
반응형
'오류관리' 카테고리의 다른 글
ORA-00979: GROUP BY 표현식이 아닙니다 (0) | 2023.04.10 |
---|---|
ERR_SSL_VERSION_OR_CIPHER_MISMATCH (0) | 2022.12.05 |
Recv faijlure: Connection was reset (0) | 2022.09.20 |
Test ignored. with IntelliJ (0) | 2022.09.06 |
[Spring] java.lang.IllegalStateException: Found multiple @SpringBootConfiguration annotated classes (0) | 2022.07.07 |