wsl
+ crontab
wsl
아래 Rscript
설치먼저 Rscript
명령어로 개발된 .R
스크립트를 실행할 경우 r-base-core
를 설치한다. 최신 R 엔진이 필요한 경우 최신 R 엔진을 설치하는 방법을 구글링해서 설치한다. Rscript --version
명령어를 사용해서 스크립트를 실행할 수 있는지도 확인한다. which Rscript
명령어로 설치된 위치를 파악한다.
Rscript
헬로월드 실행Rscript
스크립트 작성which Rscript
명령어로 파악한 위치를 쉬뱅(shebang) 에 적어주고, R 스크립트 코드를 helloworld.R
파일에 저장시킨다.
Rscript
스크립트 실행Rscript helloworld.R
명령어를 실행시킬 수 있다.
Rscript
스크립트 작성chmod +x helloworld.R
와 같이 helloworld.R
파일을 실행가능하게 만들어 두고 테스트 한다.
crontab
) 자동실행 등록 1마지막 단계로 crontab
에 .R
스크립트를 등록하여 정해진 시간에 자동으로 실행되도록 한다. 이를 위해서 먼저 crontab
에 whoami
명령어로 확인한 사용자명
을 등록시킨다. 그리고 나서 crontab -l
명령어로 등록된 자동실행 명령어를 확인한다. crontab -e
명령어로 자동실행 스크립트를 등록시킨다.
$ whoami
사용자명
$ sudo usermod -a -G crontab 사용자명
no crontab for statkclee
$ crontab -e
no crontab for 사용자명 - using an empty one
Select an editor. To change later, run 'select-editor'.
1. /bin/nano <---- easiest
2. /usr/bin/vim.basic
3. /usr/bin/vim.tiny
4. /bin/ed
Choose 1-4 [1]: 1
crontab: installing new crontab
crontab
문법crontab
은 * 별표 5개와 “실행가능한 R 스크립트”로 구성된다. 사실 R 스크립트가 아닌 다는 파이썬 스크립트나 실행가능한 뭐든 넣으면된다. 앞선 별표 5개는 월/일/시/분 그리고 요일로 구성되고 날짜를 넣어주면 원하는 시간에 자동으로 해당 스크립트를 실행시킬 있 이다.
crontab
테스트 2crontabl -l
내용을 바탕으로 등록된 cron 명령어를 즉시 모두 실행시킬 수 있다.
crontab -l
: 등록된 모든 cron 명령grep -v '^#'
: 주석 제거cut -f 6- -d ' '
: cron 설정 모두 제거while read CMD; do eval $CMD; done
: 등록된 cron 명령어 하나씩 실행helloworld.R
1분마다 자동실행crontab -e
를 통해 다음과 같이 cron 명령어를 넣어준다.
crontab
파일helloworld_file.R
명칭으로 R 스크립트를 작성한다. 한글이 깨지는 문제가 있어 저장할 때 options("encoding" = "UTF-8")
을 지정하여 깨지는 문제가 없도록 한다.
# `helloworld_file.R`
options("encoding" = "UTF-8")
time_txt <- paste0("헬로월드 현재시각: ", Sys.time(), "\n")
cat(time_txt, file="helloworld_time.txt", append = TRUE)
마찬가지 방식으로 crontab -e
명령어로 새로운 cron 작업을 등록시킨다.
cat
명령어로 이를 확인할 수 있다.