R 스크립트 스케줄링
데이터베이스에서 데이터를 가져와 여러 작업을 수행하고 출력을 새 데이터베이스에 게시하는 R 스크립트를 작성했습니다.
이 스크립트를 매일 특정 시간에 실행하고 싶지만 효율적으로 실행할 수 있는 방법을 찾을 수 없습니다.
이 문제를 해결하기 위해 검토할 수 있는 리소스를 추천해 주실 수 있습니까?이 스크립트를 Windows 머신에서 실행하고 있습니다.
실제로 Windows에서는 스케줄러를 사용하기 위해 배치 파일을 먼저 작성할 필요가 없습니다.
- 스케줄러를 엽니다.START - > 모든 프로그램 - > 악세사리 - > 시스템툴 - > 스케줄러
- 새 작업 생성
- 작업 탭에서 새 작업 생성
- [프로그램 시작]을 선택합니다.
- Rscript를 참조합니다.예를 들어 다음과 같이 배치해야 합니다.
Files.2"C\Program Files\R-3.0.2\bin\x64\Rscript.exe" - [ Parameters ]필드에 파일명을 입력합니다.
- [시작 위치] 필드에 스크립트를 찾을 경로를 입력합니다.
- 트리거 탭으로 이동
- 새로운 트리거 생성
- 매일, 매월, ...를 여러 번 반복하거나 원하는 작업을 수행하도록 선택합니다.
가 R이라고 합니다.mytest.r
D:\mydocuments\
다음 명령어를 포함한 배치파일을 작성할 수 있습니다.
C:\R\R-2.10.1\bin\Rcmd.exe BATCH D:\mydocuments\mytest.r
그런 다음 이를 새 태스크로 Windows 태스크스케줄러에 추가하고 트리거 조건을 설정합니다.
배치 파일을 생략할 수도 있습니다. ★★C:\R\R-2.10.1\bin\Rcmd.exe
program/script
스케줄러 로서, 「」로 합니다.Arguments
번째 부분: " the the the the the the the the the the the the the the the the the the the the 。BATCH D:\mydocuments\mytest.r
Windows 태스크스케줄러를 통한 R 태스크 스케줄링(2015년 2월 11일 게시)
taskscheduleR: Windows 태스크 매니저와 함께 R 스크립트를 스케줄 하는 R 패키지(2016년 3월 17일 게시)
편집
cmd 창을 최소화하고 싶었기 때문에 (다른 방법을 찾을 수 없었기 때문에) 최근에 배치 파일 사용을 다시 채택했습니다.
Actions
을 사용하다
Program/script:
cmd.exe
Add arguments (optional):
/c start /min D:\mydocuments\mytest.배트 ^& 종료
my test의 내용.배트:
C:\R\R-3.5.2\bin\x64\Rscript.exe D:\mydocuments\mytest.r 파라미터
RStudio에는 이 작업을 수행하기 위한 옵션이 내장되어 있습니다.스케줄러를 먼저 아래 패키지에 설치합니다.
install.packages('data.table')
install.packages('knitr')
install.packages('miniUI')
install.packages('shiny')
install.packages("taskscheduleR", repos = "http://www.datatailor.be/rcube", type =
"source")
설치 후 로 이동합니다.
**TOOLS -> ADDINS ->BROWSE ADDINS ->taskscheduleR -> Select it and execute it.**
태스크 스케줄러 설정
스텝 1) 태스크스케줄러를 엽니다([Start]> [ search Task Scheduler ] )
순서 2) [Action]> [ Create Task ]을 클릭합니다.
순서 3) [사용자가 로그온 했을 때만 실행]를 선택하고 [권한이 가장 높은 실행]체크박스를 끄고 작업명을 지정하여 [Windows Vista/Windows Server 2008]용으로 설정합니다.
스텝 4) [트리거]탭에서 스크립트를 실행할 타이밍을 설정합니다.
스텝 5) [Actions]탭 아래에 Rscript.exe 파일의 완전한 위치를 입력합니다.
"C:\Program Files\R\R-3.6.2\bin\Rscript.exe" (include the quotes)
스크립트 이름 입력 방법-e
그리고.source()
다음과 같이 포장하는 논쟁에서:
-e "source('C:/location_of_my_script/test.R')"
작업 스케줄러에서 스케줄된 Rscript 문제 슈팅
작업 스케줄러를 사용하여 스크립트를 실행하면 오류 메시지가 표시되지 않으므로 문제를 해결하기가 어렵습니다.
이 문제는sink()
모든 오류 메시지를 지정한 파일로 출력할 수 있습니다.그 방법은 다음과 같습니다.
# Set up error log ------------------------------------------------------------
error_log <- file("C:/location_of_my_script/error_log.Rout", open="wt")
sink(error_log, type="message")
try({
# insert your code here
})
Rscript를 작동시키기 위해 변경해야 할 다른 사항은 스크립트 내의 모든 파일 경로의 전체 파일 경로를 지정하는 것입니다.
이 작업은 작업 스케줄러에서 작동하지 않습니다.
source("./functions/import_function.R")
Rscript 내에서 소싱할 스크립트의 전체 파일 경로를 지정해야 합니다.
source("C:/location_of_my_script/functions/import_function.R")
또한 R 스크립트에서 참조하고 있는 파일 경로에서 특수 문자를 삭제합니다.예를 들어 다음과 같습니다.
df <- fread("C:/location_of_my_data/file#2342.csv")
실행되지 않을 수 있습니다.대신 다음을 시도해 보십시오.
df <- fread("C:/location_of_my_data/file_2342.csv")
Windows 비밀번호 변경 주의:Windows 비밀번호를 변경하면 작업 스케줄러 스크립트가 일시 중지됩니다.작업을 다시 시작하려면 작업 스케줄러에 다시 로그인하고 암호를 입력해야 합니다.
를 사용하여 작업을 셋업합니다.SCHTASKS
프로그램.기동시에 스크립트를 실행하는 경우는, 다음과 같이 기술합니다.
SCHTASKS /Create /SC ONSTART /TN MyProgram /TR "R CMD BATCH --vanilla d:\path\to\script.R"
자세한 내용은 이 웹 사이트를 참조하십시오.SCHTASKS
상세한 것에 대하여는, Microsoft 의 Web 사이트를 참조해 주세요.
이러한 순서를 조합하면, 다음의 정보가 표시됩니다."Argument Batch Ignored"
R.exe 실행 후 오류입니다.이걸 써보세요.제게는 효과가 있었어요.
Windows 작업 스케줄러:
교체하다BATCH "C:\Users\desktop\yourscript.R"
[ Arguments ]필드에서
와 함께
CMD BATCH --vanilla --slave "C:\Users\desktop\yourscript.R"
언급URL : https://stackoverflow.com/questions/2793389/scheduling-r-script
'UFO ET IT' 카테고리의 다른 글
프로세스별 CPU 및 메모리 사용량 추적 (0) | 2023.04.08 |
---|---|
Windows에서 Git Bash를 시작할 때 SSH 에이전트 실행 (0) | 2023.04.08 |
다른 스크립트를 포함하는 가장 좋은 방법은 무엇입니까? (0) | 2023.04.08 |
변수가 Bash의 숫자인지 테스트하려면 어떻게 해야 합니까? (0) | 2023.04.08 |
여러 파일의 확장자 이름을 변경하려면 어떻게 해야 합니까? (0) | 2023.04.08 |