문제

내가 사용하는 popen 명령을 실행하기 위해서는 Python 스크립트,그리고 나는 그것을 통해냅니다.
크론 통화를 이 스크립트는 그러나 행동이 동일하지 않습니다면 나는 그것을 손에 의해.

출처:

from subprocess import Popen, PIPE

pp = Popen('/usr/bin/which iptables', shell=True, stdout=PIPE)

data = ''
for ln in pp.stdout:
    data = data+ln

if data == '':
    print 'ko'
else:
    print 'ok : '+data

에 의해 손:

# python /home/user/test.py
> : /sbin/iptables

에 의해 크론(in/tmp/err_cron):

* * * * * /usr/bin/python /home/user/test.py >> /tmp/err_cron
ko
ko
ko

왜 cron 지 않는 이 스크립트를 실행하여 일반적으로?

도움이 되었습니까?

해결책

일반적으로우 프로세스에서 실행되 cron,the PATH 로 설정하면 매우 제한적인 가치(사람이 페이지에 대한 내 crontab 말 /usr/bin:/bin).추가해야 할 수도 있습니다:

PATH=/usr/bin:/bin:/sbin

의 상단에 crontab 파일입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top