Aracılığıyla paylaş


Cron ile Linux'ta SQL Server Integration Services paketi yürütmeyi zamanlama

Şunlar için geçerlidir:SQL Server - Linux

Windows üzerinde SQL Server Integration Services (SSIS) ve SQL Server'ı çalıştırdığınızda, SQL Server Aracısı'nı kullanarak SSIS paketlerinin yürütülmesini otomatikleştirebilirsiniz. Ancak Linux üzerinde SQL Server ve SSIS çalıştırdığınızda, SQL Server Agent yardımcı programı Linux'ta işleri zamanlamak için kullanılamaz. Bunun yerine, paket yürütmeyi otomatikleştirmek için Linux platformlarında yaygın olarak kullanılan cron hizmetini kullanırsınız.

Bu makalede, SSIS paketlerinin yürütülmesini otomatikleştirmeyi gösteren örnekler sağlanmaktadır. Örnekler Red Hat Enterprise'da çalıştırılacak şekilde yazılmıştır. Kod, Ubuntu gibi diğer Linux dağıtımları için benzerdir.

Önkoşullar

İşleri çalıştırmak için cron hizmetini kullanmadan önce bilgisayarınızda çalışıp çalışmadığını denetleyin.

Cron hizmetinin durumunu denetlemek için aşağıdaki komutu kullanın:

systemctl status crond.service

Hizmet etkin değilse (yani çalışmıyorsa), cron hizmetini düzgün bir şekilde ayarlamak ve yapılandırmak için yöneticinize başvurun.

İş oluşturma

Cron işi, belirli bir aralıkta düzenli olarak çalışacak şekilde yapılandırabileceğiniz bir görevdir. İş, normalde doğrudan konsola yazabileceğiniz veya kabuk betiği olarak çalıştırabileceğiniz bir komut kadar basit olabilir.

Kolay yönetim ve bakım amacıyla, paket yürütme komutlarınızı açıklayıcı bir ad içeren bir betikte yerleştirmenizi öneririz.

Burada, bir paket çalıştırmak için basit bir kabuk betiği örneği verilmiştir. Yalnızca tek bir komut içerir, ancak gerektiğinde daha fazla komut ekleyebilirsiniz.

# 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

Cron hizmetiyle işleri zamanlama

İşlerinizi tanımladıktan sonra cron hizmetini kullanarak bunları otomatik olarak çalışacak şekilde zamanlayabilirsiniz.

Cron'a çalıştırılacak işi eklemek için, işi crontab dosyasına ekleyin. Crontab dosyasını işi ekleyebileceğiniz veya güncelleştirebileceğiniz bir düzenleyicide açmak için aşağıdaki komutu kullanın:

crontab -e

Önceden açıklanan işi günlük olarak 02:10'da çalışacak şekilde zamanlamak için crontab dosyasına aşağıdaki satırı ekleyin:

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

Crontab dosyasını kaydedin ve düzenleyiciden çıkın.

Örnek komutun biçimini anlamak için aşağıdaki bölümdeki bilgileri gözden geçirin.

Crontab dosyasının biçimi

Aşağıdaki görüntüde, crontab dosyasına eklenen iş satırının biçim açıklaması gösterilmektedir.

Crontab dosya girişinin biçim açıklamasının ekran görüntüsü.

Crontab dosya biçiminin daha ayrıntılı bir açıklamasını almak için aşağıdaki komutu kullanın:

man 5 crontab

Bu makaledeki örneği açıklamaya yardımcı olan çıktının kısmi bir örneği aşağıda verilmişti:

Crontab biçiminin ayrıntılı kısmi açıklamasının ekran görüntüsü.