728x90

Batch

배치(batch)란 일괄적으로 작업을 처리한다는 의미다. 예제에서 토픽 저장을 할 때마다 해당 작업을 처리하는 것이 아니라 이메일을 발송해야 한다는 사실만 일단 기록해두고, 실제 이메일 전송 작업은 백그라운드로 일괄적 처리할 것이다. 

 

 

---------------------------------------------------------------------------------------------------

 

 

1. MySQL SQL 배치 작업 (in Window)

출처: https://skshpapa80.tistory.com/27

 

리눅스에서는 cron 이라는 좋은툴이 있으니 넘어가고 윈도우에서 MySQL 배치 작업을 하는 방법을 소개합니다.

MySQL윈도우 버전을 설치하면 MySQL Command Line Tool이 같이 설치됩니다.

이툴을 사용하여 배치작업을 할예정인데요.

배치작업을 위해 두개의 파일이 필요합니다.

bat확장자를 가진 배치파일과 실행될 SQL 이저장된 파일

1. 우선 bat 파일을 하나 만듭니다.

텍스트 에디터에서 신규 파일을 생성한 후

ex) MYSQL_BATCH.bat 이런식으로 파일을 생성합니다.

그리고 다음과 같이 코딩합니다.

C:\PROGRA~1\MySQL\MYSQLS~1.1\bin\mysql.exe -u아이디 -p패스워드 < runsql.sql

(MySQL 설치위치는 설치환경에 따라 다를수 있습니다!)

bat 파일을 저장합니다.

2.두개의 파일은 같은 폴더에 있어야 합니다.

SQL 파일을 하나 만듭니다. ex) runsql.sql

신규로 텍스트파일을 하나 생성한 후

runsql.sql 파일로 저장하고

실행할 내용의 SQL 들을 정리해서 입력합니다.

여러줄을 입력할경우 SQL 문 마지막에 ; 를 입력합니다.

3.미리 작성한 sql문을 테스트 하고

runsql.sql 파일을 저장합니다.

4.MYSQL_BATCH.bat 실행

MYSQL_BATCH.bat 파일을 더블 클릭하여 정상적으로 실행되는지 테스트 합니다.

아이디와 비밀번호, 경로를 잘 확인해야 합니다.

5.마지막으로 윈도우 제어판에가서 예약을 설정합니다.

이때 처음작성한 bat 파일을 원하는시간에 동작하도록 설정하면

사용자가 원하는 시간에 실행되는

MySQL 배치작업이 완성됩니다.

이방법을 사용해서 MySQL 배치작업 스크립트를 많이 돌려 봤는데 잘 운영됩니다. ^^

 

 

2. Linux - cron 사용

Cron

크론은 유닉스 계열 (리눅스 포함)에 기본적으로 포함된 스케줄러다. 스케줄러라는 것은 정해진 시간에 어떤 작업을 수행하도록 하는 소프트웨어를 말한다. 특정 시간에 어떤 스크립트가 실행되도록 크론에 정의해두면 그 시간에 그 스크립트를 실행해준다. 이에 대한 자세한 설명은 리눅스 수업 크론편을 참고하자.

CLI 수업에서 만든 예제는 바로 크론을 이용하기 위한 것이다. 큐에 쌓여있는 작업을 하나씩 수행하도록 할 때 크론을 이용할 것이다. 이렇게 해야 할일을 순차적으로 쌓아놨다가 일괄적으로 처리하는 것을 배치(batch) 작업이라고 부른다. 

 

 

 

https://opentutorials.org/course/697/4130

blog.naver.com/todangs/220779628651

https://dalgoo.tistory.com/17

728x90

+ Recent posts