tmkimm
Eddy
tmkimm
전체 방문자
오늘
어제
  • 분류 전체보기 (34)
    • DataBase (3)
    • Javascript (0)
    • Node.js (7)
    • Java (2)
    • Spring (3)
    • 기타 (13)
    • 사이드프로젝트 (2)
    • 생각 정리 (2)
    • 좋은글 공유 (1)

블로그 메뉴

    공지사항

    인기 글

    태그

    • spring
    • mybatis
    • 모니터링
    • Java
    • API 문서 자동화
    • github
    • SSL
    • 사이드프로젝트
    • 에러트래킹
    • 생각정리
    • 삽질기록
    • Git
    • Node.js
    • 설계
    • swagger
    • docker
    • Sentry
    • 부하테스트
    • 논쟁

    최근 댓글

    최근 글

    티스토리

    hELLO · Designed By 정상우.
    tmkimm

    Eddy

    기타

    [Linux] 리눅스 Crontab - Could not find or load main class 에러 해결 방법

    2023. 4. 5. 10:11

    # CentOS 7 기준

     

    에러 원인

    리눅스 Crontab을 이용하여 shell script를 자동으로 실행하는 작업을 하던 도중 Could not find or load main class 에러가 발생했습니다.

    (command not found 에러 포함)

     

     

    shell 파일을 직접 실행하면 정상적으로 실행되지만 crontab으로 실행할 때만 에러가 발생해 구글링 해보니

    Script in cron cannot find command 이 글을 통해 환경변수 설정 문제라는 것을 알게되었습니다.

     

    직접 shell 파일을 실행할 때는 접속한 유저의 환경 변수를 사용하지만, crontab이 실행할때는 환경 변수를 찾을 수 없기 때문에 shell 파일에 환경 변수를 작성해줘야 합니다.

     

     

     

     

    해결 방법

    shell 실행에 필요한 환경 변수를 crontab에 등록해도 되지만 저는 shell 파일에 환경 변수를 포함하여 해결했습니다.

     

    수정 전 shell 파일

    today=$(date "+%A")
    eval "export username=a password=a full=y OVERWRITE=Y"

     

    수정 후 shell 파일

    export TB_HOME=/home
    export PATH=.:$TB_HOME
    
    today=$(date "+%A")
    eval "export username=a password=a full=y OVERWRITE=Y"

     

    사용하는 환경 변수는 env 명령어를 이용하거나 ~/.bash_profile, /etc/profile 파일에서 확인할 수 있습니다.

     

     

     

     

    저작자표시 (새창열림)

    '기타' 카테고리의 다른 글

    [Word] 워드 표 페이지마다 머리글 행 반복 안될때 해결방법  (2) 2023.02.14
    [Github] Fork해온 저장소에 잔디 심는 방법(커밋해도 잔디가 안심어질때)  (0) 2022.12.07
    Sentry로 쉽고 안전하게 서비스 운영하기  (0) 2022.01.23
    [Docker] Docker 환경 Nginx에 SSL 인증서 적용하기(Let’s Encrypt)  (1) 2022.01.17
    [Macbook] 맥북 외장모니터 연결 문제 임시 해결(모니터 깜빡임)  (2) 2022.01.09
      '기타' 카테고리의 다른 글
      • [Word] 워드 표 페이지마다 머리글 행 반복 안될때 해결방법
      • [Github] Fork해온 저장소에 잔디 심는 방법(커밋해도 잔디가 안심어질때)
      • Sentry로 쉽고 안전하게 서비스 운영하기
      • [Docker] Docker 환경 Nginx에 SSL 인증서 적용하기(Let’s Encrypt)
      tmkimm
      tmkimm
      ⭐️

      티스토리툴바