2011-04-23 2 views
2

우분투 서버 10.10 시스템에서 부팅시 스크립트를 시작하려고합니다. 이처럼 내 rc.local에 모양의rc.local 및 python 스크립트

관련 부품 :

/usr/local/bin/python3.2 "/root/Advantage/main.py" >> /startuplogfile 
exit 0 

나는/등 모든 것이 잘 작동에서 ./rc.local 실행하고는/startuplogfile에 다음을 쓰는 경우 :

usage: main.py [--loop][--dry] 

테스트 목적으로 이것은 정확히 일어날 필요가있는 것입니다. 컴퓨터를 재부팅 할 때 startuplogfile에 아무 것도 쓰지 않습니다. rc.local이 부팅 할 때 스크립트가 시작되지 않는다고 추측 할 수 있습니다.

rc.local이 파일에서 'touch/rclocaltest'로 시작되었는지 확인했습니다. 예상대로 디렉토리가 생성됩니다.

나는 /에서 파일을 만들고/startuplogfile에 인쇄하는 다른 python 스크립트로 rc.local을 테스트했습니다. 터미널에서 재부팅 후, 그것은 잘 작동합니다.

내 실행 비트는 다음과 같이 설정됩니다

-rwxrwxrwx 1 root root 4598 2011-04-22 19:09 main.py 

이런 일이 발생하고 난 문제를 해결하기 위해 생각할 수있는 모든 노력을 이유가 전혀 생각이 없다. 이 문제의 원인이 될 수있는 아이디어는 완전히 아이디어가 없습니다.

편집 : 나는이 기계에만 ssh를 통해 로그인한다는 것을 잊어 버렸다. rc.local이 내가 알기로 로그인하기 전에 실행되기 때문에 차이가 있는지 확신 할 수 없습니다.

편집 : rc.local에 수동으로 모든 호출하면

  • 내가 그 rc.local 파일이 부팅
  • 호출됩니다 확인 :이 게시물 그래서 내가 그것을 정리해 보자 약간의 혼란입니다 것으로 나타났습니다
  • 권한이 제대로 rc.local에
  • 내 실제 파이썬의와 부팅에 예상대로 테스트 파이썬 스크립트가 작동
  • 설정되어 예상대로 작동 단지

답변

3

시도는 부팅에 를 rc.local 파일을 수동으로 호출되는 경우, 실행되지 않습니다 cript는 표준 오류를 리디렉션과 같이/startuplogfile에 표준 출력 : 에러가 발생했을 경우

/usr/local/bin/python3.2 "/root/Advantage/main.py" >> /startuplogfile 2>&1 

당신이 볼 수

+0

나는 그것을 지금 시도 할 것이다. 큰 호의를 베풀고 구문을 설명해 주시겠습니까? 나는 흥미가있어. –

+0

이것은 굉장히 도움이되어 이제는 어떤 일이 일어나고 있는지 훨씬 더 명확하게 알 수 있습니다. 물론, python 스크립트에서 오류가 발생했습니다. 고맙습니다. –

+0

stderr (오류가 기록되는 곳)은 2입니다.stdout (표준 출력이 기록되는 곳)은 파일에 넣을 수있는 1입니다. 2> & 1을 쓸 때 stderr를 stdout으로 리디렉션합니다. –

2

확실히 해당 스크립트를 world-writable로하고 싶지는 않습니다. 부트 업시 루트로 자동 실행하려고 시도하고 있지만 글쓰기가 가능하기 때문에 누구나 스크립트를 변경하여 아무 것도 할 수 없으므로 엄청난 보안 허점입니다.

+0

당신 말이 맞아서 고마워요. 나는이 일을하기 위해 모두 밖으로 나갔다. 그런 일이 일어나면 나는 물건을 잠그기 시작할 것이다! –

관련 문제