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 파일에 추가된 작업 줄의 형식 설명을 보여줍니다.

Screenshot of the format description for a crontab file entry.

crontab 파일 형식에 대한 자세한 설명을 보려면 다음 명령을 사용합니다.

man 5 crontab

다음은 이 문서의 예제를 설명하는 데 도움이 되는 출력의 일부 예제입니다.

Screenshot of a detailed partial description of crontab format.