Agendar a execução de pacotes do SQL Server Integration Services no Linux com cron
Aplica-se a:SQL Server - Linux
Ao executar o SQL Server Integration Services (SSIS) e o SQL Server no Windows, você pode automatizar a execução de pacotes SSIS usando o SQL Server Agent. No entanto, quando você executa o SQL Server e o SSIS no Linux, o utilitário SQL Server Agent não está disponível para agendar trabalhos no Linux. Em vez disso, você usa o serviço cron, que é amplamente utilizado em plataformas Linux para automatizar a execução de pacotes.
Este artigo fornece 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 Linux, como o Ubuntu.
Pré-requisitos
Antes de usar o serviço cron para executar trabalhos, verifique se ele está sendo executado no seu 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), consulte o administrador para configurar o serviço cron corretamente.
Criar empregos
Um trabalho cron é uma tarefa que você pode configurar para ser executada regularmente em um intervalo especificado. O trabalho pode ser tão simples quanto um comando que você normalmente digitaria diretamente no console ou executaria como um shell script.
Para facilitar o gerenciamento e a manutenção, recomendamos que você coloque os comandos de execução do pacote em um script que contenha um nome descritivo.
Aqui está um exemplo de um shell script 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 tarefas com o serviço cron
Depois de definir seus trabalhos, você pode programá-los para serem executados automaticamente usando o serviço cron.
Para adicionar seu trabalho para cron executar, adicione o trabalho no arquivo crontab. Para abrir o arquivo crontab em um editor onde você pode adicionar ou atualizar o trabalho, use o seguinte comando:
crontab -e
Para agendar o trabalho descrito anteriormente para ser executado diariamente às 2:10 AM, 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, em seguida, feche o editor.
Para entender o formato do comando de exemplo, revise as informações na seção a seguir.
Formato 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
Aqui está um exemplo parcial da saída que ajuda a explicar o exemplo neste artigo: