cron 자동화: 작업 통보 자동화(스케쥴링, cron job)자동화 전반적인 개요
지진은 없어지는 것이 아니라 매분, 매시간, 매일 발생되기 때문에 주기적으로 USGS - Earthquake Hazard Program - Spreadsheet Format에서 지진 데이터를 가져와서 이를 앞서 정의한 지진데이터 cron 자동화: 보고서 생성에 맞춰 자동으로 생성시킬 필요가 있다.
이를 위해서 필요한 것이 자동화 헬로월드 - wsl + crontab 웹페이지에서 언급된 cron이라는 기능을 사용하는 것이다.
앞선 지진발생 자동보고서를 CLI 배쉬쉘에서 다음 명령어로 생성을 자동화할 수 있다.
# cron-earthquake-rmd.R
# 0. 환경설정 ---------------------------------------
library(tidyverse)
# 1. 보고서 만들기 ---------------------------------------
rmarkdown::render("sw4ds-earthquake-make-report.Rmd",
output_format="html_document",
params = list(province = province),
output_file = str_c(paste0("earthquake_report_"), Sys.time(), ".html", sep=""),
encoding = 'UTF-8',
output_dir = "report")즉, cron-earthquake-rmd.R를 Rscript 명령어로 실행시키게 되면 강제로 .html 보고서를 생성시킬 수 있다.
R 스크립트 사용 HTML 보고서 생성
crontab 등록crontab -e 명령어로 cron 작업을 등록한다. 즉, 매시마다 작업할 cron 작업을 0 * * * *와 같이 지정한다. 그리고 지정된 시간에 맞춰 보고서를 생성하는 파일을 작성한다.
crontab 테스트 1crontabl -l 내용을 바탕으로 등록된 cron 명령어를 즉시 모두 실행시킬 수 있다.
crontab -l: 등록된 모든 cron 명령grep -v '^#': 주석 제거cut -f 6- -d ' ': cron 설정 모두 제거while read CMD; do eval $CMD; done: 등록된 cron 명령어 하나씩 실행crontab 실행확인fs 팩키지 dir_ls() 함수를 사용해서 cron 작업이 실행된 결과를 확인한다.
report/earthquake_report_2019-10-30.html
report/earthquake_report_2019-11-01 14:45:27.html
report/earthquake_report_2019-11-01 14:54:24.html
report/earthquake_report_2019-11-01.html