Agendar a execução de pacotes do SQL Server Integration Services no Linux com cron
Aplica-se a: SQL Server - Linux
Ao executar o SSIS (SQL Server Integration Services) e o SQL Server no Windows, você pode automatizar a execução de pacotes do SSIS usando o SQL Server Agent. No entanto, quando você executa o SQL Server e o SSIS no Linux, o utilitário de SQL Server Agent não está disponível para agendar trabalhos no Linux. Em vez disso, você usa o serviço cron, que é amplamente usado em plataformas Linux para automatizar a execução do pacote.
Este artigo apresenta exemplos que mostram como automatizar a execução de pacotes SSIS. Os exemplos são escritos para serem executados no Red Hat Enterprise. O código é semelhante para outras distribuições do Linux, como o Ubuntu.
Pré-requisitos
Antes de usar o serviço cron para executar trabalhos, verifique se ele está em execução no computador.
Para verificar o status do serviço cron, use o seguinte comando:
systemctl status crond.service
Se o serviço não estiver ativo (ou seja, não estiver em execução), fale com o administrador para instalar e configurar o serviço cron corretamente.
Criar trabalhos
Um trabalho cron é uma tarefa que você pode configurar para ser executada regularmente a um intervalo especificado. O trabalho pode ser tão simples quanto um comando que você normalmente digitaria diretamente no console ou executaria como um script de Shell.
Para facilitar o gerenciamento e a manutenção, recomendamos colocar seus comandos de execução de pacote em um script que contenha um nome descritivo.
Aqui está um exemplo de um script de shell simples para executar um pacote. Ele contém apenas um único comando, mas você pode adicionar mais comandos conforme necessário.
# 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
Agendar trabalhos com o serviço cron
Depois de definir seus trabalhos, você pode agendá-los para execução automática usando o serviço cron.
Para adicionar seu trabalho para cron para ser executado, adicione o trabalho no arquivo crontab. Para abrir o arquivo crontab em um editor em que você pode adicionar ou atualizar o trabalho, use o seguinte comando:
crontab -e
Para agendar o trabalho descrito anteriormente para execução diária às 2:10, adicione a seguinte linha ao arquivo crontab:
# run <SSIS package name> at 2:10 AM every day
10 2 * * * $/HOME/SSIS/jobs/SSISpackageName.daily
Salve o arquivo crontab e saia do editor.
Para entender o formato do comando de exemplo, examine as informações na seção a seguir.
Formatos de um arquivo crontab
A imagem a seguir mostra a descrição do formato da linha de trabalho adicionada ao arquivo crontab.
Para obter uma descrição mais detalhada do formato de arquivo crontab, use o seguinte comando:
man 5 crontab
Veja um exemplo parcial da saída que ajuda a explicar o exemplo neste artigo: