2012-09-18 3 views
1

R 또는 명령 줄에서 정상적으로 실행되는 R 스크립트가 있습니다. 그 작업은 매우 간단합니다. 정기적으로 업데이트되는 데이터를 취하고, 분석을 수행하고, 플롯을 만들어 디스크에 저장합니다. 데이터 업데이트와 동기화하여 자동으로 실행하려고하므로 cron 작업으로 실행하려고합니다. 디스크에 이미지를 쓸 때까지 모든 것이 잘됩니다. 그런 다음 첫 번째 이미지를 열 수 없으며 실패합니다. 내가 생각할 수있는 모든 것들을 시도했다 : 실행 디렉토리에서 권한을 확인하고 cron이 "R CMD BATCH"에서 "Rscript"로 내 cron 명령을 전환하는지 확인한다. 아무것도 효과가 없습니다. 다시 스크립트는 내부 R이나 명령 행에서 정상적으로 실행됩니다. 누구든지 내가 뭘 할 수 있는지에 대한 아이디어가 있습니까? (BTW,이 사이트에 이와 비슷한 질문을 찾았어요,하지만 거기에 주어진 대답은 나의 특별한 경우에 도움이되지 않았다.)cron이 R 스크립트를 실행하는 데 문제가 있습니다.

기분을 상하게하는 코드는 것 같다 :

png(file=nd_pic_image_names[1],height=720,width=720) 

오류 반환 된 값 :

Error in X11(paste("png::", filename, sep = ""), g$width, g$height, pointsize, : 
unable to start device PNG 
Calls: png 
In addition: Warning message: 
In png(file = nd_pic_image_names[n], height = 720, width = 720) : 
unable to open connection to X11 display '' 
Execution halted 

"X11"내용을 이해하지 못합니다. 코드에서 X11()에 대한 참조가 없으며 PNG 파일을 열거 나 열려고 시도하지 않습니다. 감사. 간단한

+0

스크립트에서 오류 메시지와 관련 코드를 제공하는 것이 도움이 될 수 있습니다. – flodel

+0

질문에 대한 수정 사항을 참조하십시오. –

+0

Bob, X11은 우리가 일반적으로 다루는 컴퓨터 물건 아래 몇 층 아래에있는 'X'윈도우 시스템을 가리 킵니다. 'R'의'plot()'함수에 의해 호출되어 화면에 씁니다. 'png()'는 화면 대신에 파일에 씁니다. Andrie의 답변을 참조하십시오. http://stackoverflow.com/a/8322743/563329 – isomorphismes

답변

2

시작 :

  1. RSCRIPT 파일을 통해, 단순히 하나의 명령, 어쩌면 format(Sys.time())을 실행 cronjob에 추가 - 대부분 (자신에게) 보여주기 위해 당신이 R 스크립트를 실행할 수 있습니다

  2. 기존 코드를 명령 줄에서 실행할 수있는 R 스크립트로 변환하십시오. 환경 변수 등에 대한 의존성이 없는지 확인하십시오. pp

  3. 스크립트를 cronjob으로 추가하십시오. 실패 할 경우 1에서 작성한 스크립트에 추가하여 조금씩하십시오.

관련 문제