Skip to content

Görev zamanlayıcı ​

Task Scheduler (Görev zamanlayıcı), WSL'de düzenli görevleri otomatikleştirmek için kullanılır; tekrarlayan elle bakım işlemlerini önler. Karmaşık komut satırı parametrelerini ezberlemenize gerek kalmadan zamanlanmış görevleri 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 yedeklenmesi
  • Özel betik veya komutların çalıştırılması

Tüm görevler Windows Görev Zamanlayıcı'nın \WSLDashboard\UserTasks\ yolunda toplanır; kolayca görüntülenip yönetilir. Görev durumunu (hazır / çalışıyor / devre dışı) arayüzde gerçek zamanlı olarak görebilirsiniz.

Topluluk Betik Deposu ​

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

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

Bu, kullanıcıların birlikte oluşturduğu bir kod deposudur; betik katkıları veya en iyi uygulama paylaşımları için Pull Request göndermenizi bekliyoruz.

Çalıştırma Komutu ​

Komut Yapılandırması ​

Her zamanlanmış görev, çalıştırılacak komutu (betik veya çalıştırılabilir program) aşağıdaki seçeneklerle yapılandırabilir:

Yapılandırma ÖğesiAçıklama
Çalıştırma KomutuÇalıştırılacak betiğin veya çalıştırılabilir programın yolu; .bat, .ps1, .cmd, .exe, .py gibi biçimleri destekler. Dosya "Gözat" düğmesiyle seçilebilir.
Komut ParametreleriKomuta iletilen ek parametreler, isteğe bağlı.
Yönetici Haklarıİşaretlendiğinde görev en yüksek haklarla çalışır; UAC hak yükseltme gerektiren işlemler için uygundur.

Görev İşlemleri ​

Görev oluşturulduktan sonra şu işlemleri yapabilirsiniz:

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

Zamanlama Kuralları ​

Cron İfadesi ​

Görev zamanlama, çalıştırma kurallarını tanımlamak için standart 5 alanlı Cron ifadesini kullanır; biçimi şöyledir:

dakika saat gün ay haftanın_günü
AlanDeğer AralığıAçıklama
dakika0 - 59saatin kaçıncı dakikasında çalışır
saat0 - 23günün kaçıncı saatinde çalışır
gün1 - 31ayın kaçıncı gününde çalışır
ay1 - 12yılın kaçıncı ayında çalışır
haftanın günü0 - 70 ve 7'nin ikisi de Pazar anlamına gelir

Her alan şu sözdizimini destekler:

  • * — tüm değerleri eşleştirir (ör. * * * * * her dakika çalıştırma anlamına gelir)
  • */N — her N birimde bir çalıştırır (ör. */5 * * * * her 5 dakikada bir çalıştırma anlamına gelir)
  • Tek bir sayı — belirli bir değeri eşleştirir (ör. 0 9 * * 1 Pazartesi 9:00'da çalıştırma 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 Notlar bölümüne bakın.

Desteklenen Kombinasyon Desenleri ​

Bu yazılım yerel bir Cron arka plan programı çalıştırmaz; Cron ifadelerini Windows zamanlanmış görevlerinin (schtasks.exe) tetikleyici parametrelerine çevirir. Doğru eşleme için ayrıştırıcı yalnızca şu 7 kombinasyon desenini sabit olarak destekler; bu, zamanlanmış görev senaryolarının büyük çoğunluğunu kapsar:

#DesenAçıklamaUygun Senaryolar
1* * * * *her dakika çalıştırmaizleme, gerçek zamanlı algılama görevleri
2*/N * * * *her N dakikada bir çalıştırmaperiyodik kontrol görevleri
3M * * * *her saatin M. dakikasında çalıştırma (ör. 3 * * * *)saat başı görevleri
4M H * * *her gün H:M'de çalıştırma (ör. 0 3 * * *)günlük bakım, ör. her gece günlükleri temizleme
5M H * * DOWher hafta belirli gün H:M'de çalıştırma (ör. 0 12 * * 1)haftalık rutin görevler, ör. her Pazartesi veri yedekleme
6M H D * *her ay belirli tarihte H:M'de çalıştırmaaylık görevler, ör. her ayın 1'inde rapor oluşturma
7M H D MON *her yıl belirli ay ve günde H:M'de çalıştırmayıllık görevler, ör. belirli bir ayda çalıştırma

İfade yukarıdaki 7 desenden biri değilse sistem bunu Unsupported cron pattern olarak değerlendirir ve oluşturmayı reddeder.

Notlar ​

Temel altyapı Windows zamanlanmış görevlerine dayandığından, bu yazılımın Cron ayrıştırıcısı standart Linux Cron'dan şu noktalarda farklılık gösterir:

1. Listeler (,) ve aralıklar (-) desteklenmez ​

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

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

2. Serbest kombinasyon desteklenmez ​

Standart Cron, alanların serbest kombinasyonuna izin verir (ör. * 3 * * * sabah 3'teki saat içindeki her dakika anlamına gelir), ancak bu yazılım yalnızca yukarıda listelenen 7 sabit deseni destekler; bu kapsam dışındaki ifadeler reddedilir.

3. Adım desenlerinde zaman hizalaması farkı ​

Standart Cron'da */5 * * * * saatin 0, 5, 10, 15... dakikalarına sıkı şekilde hizalanır. Bu yazılım bunu Windows'un /SC MINUTE /MO 5 parametrelerine çevirir; Windows'un 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 olarak 10:07'de, sonra 10:12'de çalışır; standart saate hizalanmış 10:05'te değil.