리눅스서버

리눅스 쉘에서는 명령이 실행되는 데 crontab에서는 실행이 되지않는 경우

리눅스 쉘에서는 명령이 실행되지만, crontab 등록을 통해서는 실행이 되지않는 경우가 있다.

이것때문에 많은 시간을 삽질한 적이 있다.

왜 crontab에서는 명령이 실행되지않는 것일까?


결론부터 말하자면 환경변수 문제였다. 어떤계정에서 crontab작동하도록 명령하지않는 다.. 

그냥 시간되면 지 스스로 작동하기에 환경변수 따위가 없다.. 가져올 환경변수가 없으므로 작동하지 않는 건 당연하다.


crontab에서 환경변수를 설정해주면 이 문제는 간단히 해결된다.

crontab -e에서 


HELL=/bin/bash

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin


맨윗줄에 이런식으로 적어주면 된다..


?