bash - Crontab의 자동 실행이 적용되지 않습니다.
过去多啦不再A梦
过去多啦不再A梦 2017-04-24 15:59:00
0
5
891

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梦
过去多啦不再A梦

모든 응답(5)
过去多啦不再A梦

스크립트를 수동으로 실행하면 적용되지만 crontab은 적용되지 않습니다. 가장 일반적인 이유는 다음과 같습니다. 스크립트의 명령은 절대 경로를 사용하지 않습니다.

習慣沉默

~$HOME에 따라 다르게 해석되므로 절대 경로를 사용해 보세요.
일반적으로 script.sh 앞에

을 추가합니다. 으아아아
PHPzhong

sudo crontab -e를 사용하여 crontab 명령을 생성하면 실행 사용자는 루트이고 여기의 ~도 /root로 구문 분석됩니다. sudo를 사용하지 않는다면 괜찮을 것입니다.

左手右手慢动作

으아악

Ty80

파일 권한 문제일까요?

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿