복붙노트

[REDIS] 부팅에서 R 스크립트를 실행

REDIS

부팅에서 R 스크립트를 실행

우선,이 수퍼 유저로 이동해야 할 수 있습니다. 더 나은이었다 장소를 결정하지 못했습니다.

나는 부팅 / 재부팅시 실행 doRedis 노동자의 풀에 해당 시스템을 추가 할 것 R 스크립트를 작성하려합니다. (doRedis는 foreach는 백엔드입니다).

여기 내 R 스크립트는 "~ / Rworker.R"입니다

#Define Parameters
require(multicore)
Host <- 'ip_of_doRedis_Server'
cores <- multicore:::detectCores()
TO <- 24*3600

#Start Workers
require('doRedis')
startLocalWorkers(cores,'jobs',host=Host,port=6379, timeout = TO)

나는 명령을 사용하여 명령 행에서이 스크립트를 실행할 수 있습니다 sudo는 R CMD의 BATCH ~ / Rworker.R ~ / RLOG.

다음으로, 나는 R 스크립트를 실행하는 쉘 스크립트라는 제목의 "/etc/init.d/StartWorkers.sh"를 썼다

#!/bin/sh
sudo echo "Starting R workers"
sudo R CMD BATCH ~/Rworker.R ~/RLog

나는 chmod를 + X StartWorkers.sh를 사용하여,이 쉘 스크립트를 실행했다. 내가 ./StartWorkers.sh을 실행하면 모든 것이 잘 작동하고 R 세션이 시작되고 근로자가 풀에 추가됩니다.

지금, 나는 때 부팅 / 재부팅 기계, 그래서 유형을 실행하려면이 쉘 스크립트를 필요 갱신-rc.d의 StartWorkers.sh 기본 설정됩니다. 이 명령은 작업에 나타납니다,하지만 다음과 같은 경고를 얻을 : '갱신-rc.d : 경고 : /etc/init.d/StartWorkers.sh가 누락 LSB 정보'

것을 그러나 rcconf를 확인한다있는 검사는 "StartWorkers.R"는 startuplist에 있습니다.

나는 컴퓨터를 다시 부팅 때, 스크립트가 실행되지 않습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 쉘 스크립트는 명령 줄에서 벌금을 실행,하지만 난 시작할 때 그것을 실행하려고하면 실패합니다.

/ 편집 : 좋아, 더크의 대답에 따라, 나는의 littler 설치하고 다음에 'StartWorkers.sh'을 변경 :

#! /usr/bin/r

#Define Parameters
require(multicore)
Host <- 'zachec2.dyndns.org'
cores <- multicore:::detectCores()
TO <- 24*3600

#Start Workers
require('doRedis')
startLocalWorkers(cores,'jobs',host=Host,port=6379, timeout = TO)

하지만 그것을 실행할 때, 나는 다음과 같은 출력을 얻을 :

Loading required package: utils
Loading required package: multicore
Warning message:
In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called 'multicore'
Error in loadNamespace(name) : there is no package called 'multicore'
Calls: ::: ... tryCatch -> tryCatchList -> tryCatchOne -> <Anonymous>
Execution halted

나는 멀티 코어 시스템에 설치 한 것을 알고있다!

/ EDIT2 : 지금 내 모든 R의 CD는 / usr / lib 디렉토리 / R / 사이트 라이브러리 패키지와의 littler 쉘 스크립트 작업을 이동했다. 나는 /etc/rc.local에에 스크립트를 추가하고 완벽하게 시작!

해결법

  1. ==============================

    1.이것은 R 질문의 비트와 우분투 sysadmining 질문에 비트입니다. 여기에 몇 가지 포인트가 있습니다 :

    이것은 R 질문의 비트와 우분투 sysadmining 질문에 비트입니다. 여기에 몇 가지 포인트가 있습니다 :

    도움이 되었기를 바랍니다. 는 R-SIG-데비안 목록이 너무 우분투 / 데비안 팁의 좋은 소스입니다.

  2. from https://stackoverflow.com/questions/6390913/run-an-r-script-at-boot by cc-by-sa and MIT license