Planifier l’exécution du package SQL Server Integration Services sur Linux avec cron

S’applique à : SQL Server - Linux

Lorsque vous exécutez SQL Server Integration Services (SSIS) et SQL Server sous Windows, vous pouvez automatiser l’exécution des packages SSIS à l’aide de SQL Server Agent. Toutefois, lorsque vous exécutez SQL Server et SSIS sur Linux, l’utilitaire SQL Server Agent n’est pas disponible pour planifier des tâches sur Linux. Au lieu de cela, vous utilisez le service cron, qui est largement utilisé sur les plateformes Linux pour automatiser l’exécution des packages.

Cet article fournit des exemples qui expliquent comment automatiser l’exécution de packages SSIS. Les exemples sont écrits pour s’exécuter sur Red Hat Enterprise. Le code est similaire pour les autres distributions Linux, telles qu’Ubuntu.

Prérequis

Avant d’utiliser le service cron pour exécuter des tâches, vérifiez s’il s’exécute sur votre ordinateur.

Pour vérifier l’état du service cron, utilisez la commande suivante :

systemctl status crond.service

Si le service n’est pas actif (autrement dit, s’il n’est pas en cours d’exécution), contactez votre administrateur pour installer et configurer le service cron correctement.

Créer des tâches

Une tâche cron est une tâche que vous pouvez configurer pour qu’elle s’exécute régulièrement à un intervalle spécifié. La tâche peut être aussi simple qu’une commande que vous devez normalement saisir directement dans la console ou exécuter en tant que script d’interpréteur de commandes.

Pour faciliter la gestion et la maintenance, nous vous recommandons de placer les commandes d’exécution des packages dans un script qui contient un nom descriptif.

Voici un exemple de script d’interpréteur de commandes simple pour l’exécution d’un package. Il ne contient qu’une seule commande, mais vous pouvez en ajouter d’autres en fonction des besoins.

# 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

Planifier des tâches avec le service cron

Quand vous avez défini vos tâches, vous pouvez les planifier pour qu’elles s’exécutent automatiquement à l’aide du service cron.

Pour ajouter votre tâche pour que cron s’exécute, ajoutez la dans le fichier crontab. Pour ouvrir le fichier crontab dans un éditeur où vous pouvez ajouter ou mettre à jour la tâche, utilisez la commande suivante :

crontab -e

Pour planifier l’exécution de la tâche décrite précédemment tous les jours à 2h10, ajoutez la ligne suivante au fichier crontab :

# run <SSIS package name> at 2:10 AM every day
10 2 * * * $/HOME/SSIS/jobs/SSISpackageName.daily

Enregistrez le fichier crontab, puis quittez l’éditeur.

Pour comprendre le format de l’exemple de commande, consultez les informations contenues dans la section suivante.

Format d’un fichier crontab

L’image suivante décrit le format de la ligne de tâche ajoutée au fichier crontab.

Capture d’écran de la description de format d’une entrée de fichier crontab.

Pour obtenir une description plus détaillée du format de fichier crontab, utilisez la commande suivante :

man 5 crontab

Voici un exemple partiel de la sortie qui permet d’expliquer l’exemple de cet article :

Capture d’écran d’une description partielle détaillée du format crontab.