Планирование выполнения пакетов SQL Server Integration Services в Linux с помощью cron

Применимо к:SQL Server — Linux

При запуске SQL Server Integration Services (SSIS) и SQL Server в Windows можно автоматизировать выполнение пакетов SSIS с помощью агента SQL Server. Однако при запуске SQL Server и служб SSIS в Linux служебная программа агента SQL Server недоступна для планирования заданий в Linux. Вместо этого для автоматизации выполнения пакетов используется служба cron, которая получила широкое распространение на платформах Linux.

В этой статье приведены примеры, демонстрирующие автоматизацию выполнения пакетов SSIS. Эти примеры написаны для запуска в Red Hat Enterprise. Аналогичный код используется для других дистрибутивов Linux, таких как Ubuntu.

Необходимые компоненты

Прежде чем использовать службу 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.