Menjadwalkan eksekusi paket SQL Server Integration Services di Linux dengan cron

Berlaku untuk:SQL Server - Linux

Saat Anda menjalankan SQL Server Integration Services (SSIS) dan SQL Server di Windows, Anda dapat mengotomatiskan eksekusi paket SSIS dengan menggunakan SQL Server Agent. Namun, saat Anda menjalankan SQL Server dan SSIS di Linux, utilitas SQL Server Agent tidak tersedia untuk menjadwalkan pekerjaan di Linux. Sebagai gantinya, Anda menggunakan layanan cron, yang banyak digunakan pada platform Linux untuk mengotomatiskan eksekusi paket.

Artikel ini menyediakan contoh yang menunjukkan cara mengotomatiskan eksekusi paket SSIS. Contoh ditulis untuk dijalankan di Red Hat Enterprise. Kode ini mirip untuk distribusi Linux lainnya, seperti Ubuntu.

Prasyarat

Sebelum Anda menggunakan layanan cron untuk menjalankan pekerjaan, periksa untuk melihat apakah layanan tersebut berjalan di komputer Anda.

Untuk memeriksa status layanan cron, gunakan perintah berikut:

systemctl status crond.service

Jika layanan tidak aktif (artinya, layanan tidak berjalan), konsultasikan dengan administrator Anda untuk menyiapkan dan mengonfigurasi layanan cron dengan benar.

Membuat pekerjaan

Pekerjaan cron adalah tugas yang dapat Anda konfigurasi untuk berjalan secara teratur pada interval yang ditentukan. Pekerjaan ini bisa sesering perintah yang biasanya Anda ketik langsung di konsol atau dijalankan sebagai skrip shell.

Untuk tujuan manajemen dan pemeliharaan yang mudah, kami sarankan Anda menempatkan perintah eksekusi paket Anda dalam skrip yang berisi nama deskriptif.

Berikut adalah contoh skrip shell sederhana untuk menjalankan paket. Ini hanya berisi satu perintah, tetapi Anda dapat menambahkan lebih banyak perintah sesuai kebutuhan.

# 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

Menjadwalkan pekerjaan dengan layanan cron

Setelah menentukan pekerjaan, Anda dapat menjadwalkannya untuk berjalan secara otomatis dengan menggunakan layanan cron.

Untuk menambahkan pekerjaan Anda agar cron berjalan, tambahkan pekerjaan dalam file crontab. Untuk membuka file crontab di editor tempat Anda dapat menambahkan atau memperbarui pekerjaan, gunakan perintah berikut:

crontab -e

Untuk menjadwalkan pekerjaan yang dijelaskan sebelumnya agar berjalan setiap hari pada pukul 02.10, tambahkan baris berikut ke file crontab:

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

Simpan file crontab, lalu keluar dari editor.

Untuk memahami format perintah sampel, tinjau informasi di bagian berikut.

Format file crontab

Gambar berikut menunjukkan deskripsi format baris pekerjaan yang ditambahkan ke file crontab.

Screenshot of the format description for a crontab file entry.

Untuk mendapatkan deskripsi yang lebih rinci tentang format file crontab, gunakan perintah berikut:

man 5 crontab

Berikut adalah contoh sebagian output yang membantu menjelaskan contoh dalam artikel ini:

Screenshot of a detailed partial description of crontab format.