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.
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: