crontab을 사용하여 예약된 작업 추가
으아아아이 스크립트의 기능은 일부 데이터를 계산하고 보고서 파일을 생성하는 것입니다.
이 스크립트는 1분마다 한 번씩 실행되지만 실제 작업에서는 crontab이 예상대로 보고서 파일을 생성하지 않습니다.
그런데 이 명령을 수동으로 실행하면 "~/.script.sh" 파일이 생성되고 종료됩니다.
두 가지 질문이 있습니다.
1: crontab이 내 스크립트를 실행하지 않은 이유는 무엇입니까? crontab 로그(/var/log/crond) 출력을 확인했습니다. 5월 5일 20:36:01 localhost CROND[27260]: (ernest) CMD (/bin/bash -l -c '~/script.sh') 예외가 발견되지 않았습니다.
2: 스크립트를 실행하는 환경이 다른 건 아닐까? 테스트됨 "* * * * * /bin/bash -l -c 'source ~/.bash_profile && ~/.script.sh'" 둘 다 아닙니다.
저와 같은 문제를 겪으신 경험 있으신 전문가님 계시나요?
过去多啦不再A梦2017-04-24 16:01:00
스크립트를 수동으로 실행하면 적용되지만 crontab은 적용되지 않습니다. 가장 일반적인 이유는 다음과 같습니다. 스크립트의 명령은 절대 경로를 사용하지 않습니다.
PHPz2017-04-24 16:01:00
sudo crontab -e를 사용하여 crontab 명령을 생성하면 실행 사용자는 루트이고 여기의 ~도 /root로 구문 분석됩니다. sudo를 사용하지 않는다면 괜찮을 것입니다.