Sdílet prostřednictvím


Naplánování spouštění balíčků SSIS (SQL Server Integration Services) v Linuxu pomocí cron

platí pro:SQL Server – Linux

Při spuštění služby SQL Server Integration Services (SSIS) a SQL Serveru ve Windows můžete automatizovat spouštění balíčků SSIS pomocí agenta SQL Serveru. Při spuštění SQL Serveru a služby SSIS v Linuxu ale není k dispozici nástroj agenta SQL Serveru pro plánování úloh v Linuxu. Místo toho použijete službu cron, která se běžně používá na platformách Linux k automatizaci spouštění balíčků.

Tento článek obsahuje příklady, které ukazují, jak automatizovat spouštění balíčků SSIS. Příklady se zapisují pro spuštění v Red Hat Enterprise. Kód je podobný pro ostatní linuxové distribuce, jako je Ubuntu.

Požadavky

Než ke spouštění úloh použijete službu Cron, zkontrolujte, jestli je spuštěná na vašem počítači.

Pokud chcete zkontrolovat stav služby Cron, použijte následující příkaz:

systemctl status crond.service

Pokud služba není aktivní (to znamená, že není spuštěná), obraťte se na správce a správně nastavte a nakonfigurujte službu cron.

Vytváření úloh

Úloha cron je úloha, kterou můžete nakonfigurovat tak, aby běžela pravidelně v zadaném intervalu. Úloha může být jednoduchá jako příkaz, který byste normálně zadali přímo v konzole nebo spustit jako skript prostředí.

Pro účely snadné správy a údržby doporučujeme vložit příkazy pro spouštění balíčků do skriptu, který obsahuje popisný název.

Tady je příklad jednoduchého shell skriptu pro spuštění balíčku. Obsahuje pouze jeden příkaz, ale podle potřeby můžete přidat další příkazy.

# 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

Plánování úloh pomocí služby cron

Jakmile úlohy definujete, můžete je naplánovat tak, aby se spouštěly automaticky pomocí služby cron.

Pokud chcete přidat úlohu pro spuštění cron, přidejte ji do souboru crontab. Pokud chcete otevřít soubor crontab v editoru, kde můžete úlohu přidat nebo aktualizovat, použijte následující příkaz:

crontab -e

Pokud chcete naplánovat dříve popsanou úlohu tak, aby běžela každý den v 2:10, přidejte do souboru crontab následující řádek:

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

Uložte soubor crontab a ukončete editor.

Pokud chcete porozumět formátu ukázkového příkazu, projděte si informace v následující části.

Formát souboru crontab

Následující obrázek ukazuje popis formátu řádku úlohy, který je přidán do souboru crontab.

Snímek obrazovky s popisem formátu pro položku souboru crontab

Pokud chcete získat podrobnější popis formátu souboru crontab, použijte následující příkaz:

man 5 crontab

Tady je částečný příklad výstupu, který vám pomůže vysvětlit příklad v tomto článku:

snímek obrazovky s podrobným částečným popisem formátu crontab