cron을 사용하여 Linux에서 SQL Server Integration Services 패키지 실행 예약
적용 대상: SQL Server - Linux
Windows에서 SSIS(SQL Server Integration Services) 및 SQL Server를 실행하는 경우 SQL Server 에이전트를 사용하여 SSIS 패키지 실행을 자동화할 수 있습니다. 그러나 Linux에서 SQL Server 및 SSIS를 실행하는 경우 SQL Server 에이전트 유틸리티를 사용하여 Linux에서 작업을 예약할 수 없습니다. 대신 Linux 플랫폼에서 널리 사용되는 cron 서비스를 사용하여 패키지 실행을 자동화할 수 있습니다.
이 문서에서는 SSIS 패키지 실행을 자동화하는 방법을 보여 주는 예시를 제공합니다. 예시는 Red Hat Enterprise에서 실행되도록 작성되었습니다. 하지만 코드는 Ubuntu 등의 다른 Linux 배포에서도 유사합니다.
필수 조건
cron 서비스를 사용하여 작업을 실행하기 전에 컴퓨터에서 실행 중인지 확인합니다.
cron 서비스의 상태를 확인하려면 다음 명령을 사용합니다.
systemctl status crond.service
서비스가 활성화되지 않은 경우(즉, 실행되고 있지 않은 경우) 관리자에게 문의하여 cron 서비스를 올바르게 설정하고 구성하세요.
작업 만들기
cron 작업은 지정된 간격마다 주기적으로 실행되도록 구성할 수 있는 태스크입니다. 작업은 일반적으로 콘솔에 직접 입력하거나 셸 스크립트로 실행하는 명령만큼 간단할 수 있습니다.
간편한 관리 및 유지 관리를 위해 설명이 포함된 스크립트에 패키지 실행 명령을 넣는 것이 좋습니다.
다음은 패키지를 실행하기 위한 간단한 셸 스크립트의 예시입니다. 단일 명령만 포함되어 있지만 필요에 따라 명령을 더 추가할 수 있습니다.
# A simple shell script that contains a simple package execution command
# Script name: SSISpackageName.daily
/opt/ssis/bin/dtexec /F yourSSISpackageName.dtsx >> $HOME/tmp/out 2>&1
cron 서비스를 사용하여 작업 예약
작업을 정의한 후 cron 서비스를 사용하여 자동으로 실행되도록 예약할 수 있습니다.
cron을 실행할 작업을 추가하려면 crontab 파일에 작업을 추가합니다. 작업을 추가하거나 업데이트할 수 있는 편집기에서 crontab 파일을 열려면 다음 명령을 사용합니다.
crontab -e
앞서 설명한 작업이 매일 오전 2시 10분에 실행되도록 예약하려면 crontab 파일에 다음 줄을 추가합니다.
# run <SSIS package name> at 2:10 AM every day
10 2 * * * $/HOME/SSIS/jobs/SSISpackageName.daily
crontab 파일을 저장한 다음 편집기를 종료합니다.
샘플 명령의 형식을 이해하려면 다음 섹션의 정보를 검토하세요.
crontab 파일의 형식
다음 이미지는 crontab 파일에 추가된 작업 줄의 형식 설명을 보여줍니다.
crontab 파일 형식에 대한 자세한 설명을 보려면 다음 명령을 사용합니다.
man 5 crontab
다음은 이 문서의 예시를 설명하는 데 도움이 되는 출력의 부분 예시입니다.