채널톡 아이콘

인프런 커뮤니티 질문&답변

이세령님의 프로필 이미지

작성한 질문수 3

빅데이터 파이프라인 마스터; 성공을 위한 도구와 기술

[실습4] Crontab 이용하여 Scheduler 만들기 (실시간 달러 환율 조회)

crontab 결과가 market.log 에 저장이 안돼요ㅠ

작성

·

58

0

crontab 결과가 market.log 에 저장이 안돼요ㅠ

crontab 내용 오타 없는지도 계속 확인했고, 파일 실행도 직접했을 때는 환율 잘 나와요. 로그 파일도 자동 생성이 됐는데

cat market.log 하면 아무것도 뜨지 않네요ㅠ 이유가 뭘까요?

image.png

 

image.png

 

답변 1

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다.

이세령님, crontab을 설정하셨을 때 로그가 market.log에 저장되지 않는 이유로 몇 가지 사항을 점검해볼 수 있습니다.

  1. 경로 확인: cron job이 실행되는 환경의 경로가 bash에서 스크립트를 직접 실행할 때의 경로와 다를 수 있습니다. 절대 경로를 사용하여 market.log 파일의 경로를 지정했는지 확인해주세요. 예: /home/sery/2024_BIGDATA/market.log.

  2. PATH 설정: cron 환경에서는 일반적으로 PATH가 제한적일 수 있습니다. 필요한 경우 스크립트 상단에 필요한 Python 환경과 PATH를 명시적으로 설정하여 문제가 되는 부분 없는지 확인해주세요.

  3. 실행 권한: 스크립트 3_market.py와 로그 파일 market.log에 대한 실행 및 쓰기 권한이 올바르게 설정되어 있는지 확인합니다.

  4. 에러 출력: cron의 오류 출력을 확인하기 위해 오류 로그를 별도로 저장할 수 있습니다. 예를 들어, some_command >> market.log 2>> market_error.log처럼 설정하여 에러 로그도 같이 확인할 수 있도록 설정해주세요.

  5. Python 경로: 가상환경 경로가 잘못되었거나 cron에서 가상환경의 Python을 제대로 사용하지 못할 수도 있습니다. Python 환경을 명시적으로 활성화한 다음 실행할 수 있도록 쉘 스크립트를 작성해보세요. 다음과 같이 갈 수 있습니다:

    #!/bin/bash
    source /path/to/your/venv/bin/activate
    python /home/sery/2024_BIGDATA/3_market.py >> /home/sery/2024_BIGDATA/market.log 2>> /home/sery/2024_BIGDATA/market_error.log
    

위 사항들을 하나씩 검토하시고 설정하셔서 문제가 해결되기를 바랍니다.

추가로 궁금한 점이 있으시면 언제든지 문의 주세요!

이미지 및 추가 설명에 대한 출처는 이 페이지에서 확인하실 수 있습니다.