Skip to content

Task Scheduler Özellik Genel Bakış

Task Scheduler (Görev Zamanlayıcı), WSL'de düzenli görevleri otomatikleştirmek ve tekrarlayan manuel bakım işlemlerini önlemek için kullanılır. Karmaşık komut satırı parametrelerini hatırlamanıza gerek kalmadan zamanlanmış görevler oluşturup yönetebileceğiniz görsel bir yönetim arayüzü sağlar.

Bu özelliğin örnek senaryoları:

  • WSL'deki dağıtımların düzenli olarak yedeklenmesi
  • Özel betiklerin veya komutların çalıştırılması

Tüm görevler, merkezi görüntüleme ve yönetim için Windows Görev Zamanlayıcı'nın \WSLDashboard\UserTasks\ yolunda toplanır. Arayüzde görev durumunu (Hazır / Çalışıyor / Devre Dışı) gerçek zamanlı olarak görebilirsiniz.

Topluluk Betik Deposu

Hızlıca başlamak için aşağıdaki topluluk deposundan örnek betikleri (dağıtım yedekleme) indirebilirsiniz:

https://github.com/owu/wsl-community

Bu, kullanıcılar tarafından ortaklaşa oluşturulan bir kod deposudur. Betik katkısında bulunmak veya en iyi uygulamaları paylaşmak için Pull Request göndermenizi bekliyoruz.

Komut Çalıştırma

Komut Yapılandırması

Her zamanlanmış görev için çalıştırılacak komut (betik veya yürütülebilir dosya) aşağıdaki seçeneklerle yapılandırılabilir:

Yapılandırma ÖğesiAçıklama
Çalıştırma KomutuÇalıştırılacak betik veya yürütülebilir dosya yolu. .bat, .ps1, .cmd, .exe, .py gibi biçimleri destekler. "Gözat" düğmesiyle dosya seçilebilir.
Komut ParametreleriKomuta iletilen isteğe bağlı ek parametreler.
Yönetici Ayrıcalıklarıİşaretlendiğinde, görev en yüksek ayrıcalıklarla çalışır, UAC yükseltmesi gerektiren işlemler için uygundur.

Görev İşlemleri

Bir görev oluşturduktan sonra aşağıdaki işlemleri gerçekleştirebilirsiniz:

İşlemAçıklama
Hemen ÇalıştırZamanlama kurallarından bağımsız olarak görevi hemen zorla çalıştırın.
Etkinleştir/Devre Dışı BırakGörevin otomatik zamanlamasını duraklatın veya devam ettirin.
SilGörevi Görev Zamanlayıcı'dan kaldırın.

Zamanlama Kuralları

Cron İfadesi

Görev zamanlaması, yürütme kurallarını tanımlamak için standart 5 alanlı Cron ifadesi kullanır, biçimi aşağıdaki gibidir:

dakika saat gün ay hafta
AlanDeğer AralığıAçıklama
dakika0 - 59Her saatin hangi dakikasında çalıştırılacağı
saat0 - 23Her günün hangi saatinde çalıştırılacağı
gün1 - 31Her ayın hangi gününde çalıştırılacağı
ay1 - 12Her yılın hangi ayında çalıştırılacağı
hafta0 - 70 ve 7'nin ikisi de Pazar'ı temsil eder

Her alan aşağıdaki sözdizimini destekler:

  • * —— tüm değerlerle eşleşir (örn. * * * * * her dakika çalıştır anlamına gelir)
  • */N —— her N birimde bir çalıştır (örn. */5 * * * * her 5 dakikada bir çalıştır anlamına gelir)
  • Tek sayı —— belirli bir değerle eşleşir (örn. 0 9 * * 1 her Pazartesi sabah 9:00'da çalıştır anlamına gelir)

Not: Virgülle ayrılmış birden çok değer (ör. 1,15) ve aralık ifadeleri (ör. 1-5) desteklenmez. Daha fazla kısıtlama için aşağıdaki Önemli Notlar bölümüne bakın.

Desteklenen Kombinasyon Türleri

Bu yazılım, yerel bir Cron arka plan hizmeti çalıştırmaz; bunun yerine Cron ifadesini Windows Zamanlanmış Görev (schtasks.exe) tetikleyici parametrelerine çevirir. Doğru eşleme için ayrıştırıcı yalnızca aşağıdaki 7 kombinasyon türünü destekler; bu, çoğu zamanlanmış görev senaryosunu kapsar:

#TürAçıklamaKullanım Senaryosu
1* * * * *Her dakika çalıştırİzleme, gerçek zamanlı algılama görevleri
2*/N * * * *Her N dakikada bir çalıştırPeriyodik kontrol görevleri
3M * * * *Saatin M. dakikasında çalıştır (örn. 3 * * * *)Saat başı görevler
4M H * * *Her gün H: M'de çalıştır (örn. 0 3 * * *)Günlük bakım, örn. her gün gece yarısı günlükleri temizleme
5M H * * DOWHaftanın belirli günlerinde H: M'de çalıştır (örn. 0 12 * * 1)Haftalık rutin görevler, örn. her Pazartesi verileri yedekleme
6M H D * *Ayın belirli gününde H: M'de çalıştırAylık görevler, örn. her ayın 1'inde rapor oluşturma
7M H D MON *Yılın belirli ay ve gününde H: M'de çalıştırYıllık görevler, örn. belirli bir ayda çalıştırma

İfade yukarıdaki 7 türden birine uymuyorsa, sistem bunu Unsupported cron pattern olarak değerlendirir ve oluşturmayı reddeder.

Önemli Notlar

Altta yatan uygulama Windows Zamanlanmış Görev'e dayandığından, bu yazılımın Cron ayrıştırıcısı standart Linux Cron'dan aşağıdaki farklılıklara sahiptir:

1. Liste (,) ve Aralık (-) Desteklenmez

Standart Cron, virgülle birden çok ayrık zaman noktası tanımlamaya (örn. 1,15,30 * * * * 1., 15. ve 30. dakikalar anlamına gelir) veya kısa çizgi ile aralık tanımlamaya (örn. 1-5 * * * * 1. ila 5. dakikalar anlamına gelir) izin verir.

Bu yazılımın sınırlaması: Her alan yalnızca tek bir sayı, yıldız (*) veya adım (*/N) içerebilir; virgül ve kısa çizgi desteklenmez.

2. Serbest Kombinasyon Desteklenmez

Standart Cron, herhangi bir alanın serbest kombinasyonuna izin verir (örn. * 3 * * * sabah saat 3'teki her dakika anlamına gelir), ancak bu yazılım yalnızca yukarıda listelenen 7 sabit türü destekler; bu aralığın dışındaki ifadeler reddedilir.

3. Adım Türünde Zaman Hizalama Farkı

Standart Cron'da */5 * * * *, saat'in 0, 5, 10, 15... dakikalarına sıkı bir şekilde hizalanır. Bu yazılım bunu Windows'un /SC MINUTE /MO 5 parametresine çevirir; Windows'un işleme mantığı, aralığı görevin oluşturulduğu veya etkinleştirildiği andan itibaren hesaplar.

Örneğin, her 5 dakikada bir çalışan bir görevi 10:02'de kaydedip etkinleştirirseniz, ilk çalıştırma 10:07'de, ardından 10:12'de gerçekleşir; standart saat'in 10:05'ine hizalanmaz.