Skip to content

Task Scheduler funksiyası haqqında

Task Scheduler (Tapşırıq Planlayıcısı) WSL-də təkrarlanan tapşırıqları avtomatlaşdırmaq üçün istifadə olunur və təkrarlanan əl ilə texniki xidmət əməliyyatlarının qarşısını alır. Mürəkkəb komanda sətri parametrlərini yadda saxlamağa ehtiyac olmadan planlaşdırılmış tapşırıqlar yaratmaq və idarə etmək üçün vizual idarəetmə interfeysi təqdim edir.

Bu funksiyanın nümunə ssenariləri:

  • WSL paylamalarını mütəmadi olaraq ehtiyat nüsxələmək
  • Xüsusi skriptlər və ya əmrlər icra etmək

Bütün tapşırıqlar mərkəzləşdirilmiş idarəetmə üçün Windows Task Scheduler-da \WSLDashboard\UserTasks\ yolu altında toplanır. İnterfeysdə tapşırıqların real vaxt vəziyyətini (Hazır / İşləyir / Söndürülmüş) görə bilərsiniz.

İcma Skriptləri

Tez başlamaq üçün icma deposundan nümunə skriptləri (paylama ehtiyat nüsxələri) yükləyə bilərsiniz:

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

Bu icma tərəfindən idarə olunan kod deposudur. Skriptlərə töhfə vermək və ya ən yaxşı təcrübələri paylaşmaq üçün Pull Request göndərməyə xoş gəlmişsiniz.

Əmri icra et

Əmr konfiqurasiyası

Hər bir planlaşdırılmış tapşırıq aşağıdakı variantları dəstəkləyən bir əmr (skript və ya icra olunan proqram) ilə konfiqurasiya edilə bilər:

Parametrİzah
ƏmrSkript və ya icra olunan proqrama yol. .bat, .ps1, .cmd, .exe, .py formatlarını dəstəkləyir. Faylı seçmək üçün "Gözdən keçir" düyməsini istifadə edin.
ArqumentlərƏmrə ötürüləcək əlavə arqumentlər, isteğe bağlıdır.
İdarəçi səlahiyyətləri ilə işə salSeçildikdə, tapşırıq ən yüksək səlahiyyətlərlə işləyir, UAC yüksəldilməsi tələb edən əməliyyatlar üçün uyğundur.

Tapşırıq əməliyyatları

Tapşırıq yaratdıqdan sonra aşağıdakı əməliyyatları yerinə yetirə bilərsiniz:

Əməliyyatİzah
İndi işə salPlanlaşdırma qaydalarından asılı olmayaraq tapşırığı dərhal icra etməyə məcbur edin.
Aktivləşdir/SöndürTapşırığın avtomatik planlaşdırmasını dayandırın və ya davam etdirin.
SilTapşırığı Task Scheduler-dan silin.

Planlaşdırma qaydaları

Cron ifadəsi

Tapşırıq planlaşdırması icra qaydalarını müəyyən etmək üçün standart 5 sahəli Cron ifadəsindən istifadə edir, format aşağıdakı kimidir:

dəqiqə saat gün ay həftəgünü
SahəAralıqİzah
dəqiqə0 - 59Hər saatın neçənci dəqiqəsində icra ediləcək
saat0 - 23Hər günün neçənci saatında icra ediləcək
gün1 - 31Hər ayın neçənci günündə icra ediləcək
ay1 - 12Hər ilin neçənci ayında icra ediləcək
həftəgünü0 - 70 və 7 hər ikisi bazar gününü bildirir

Hər bir sahə aşağıdakı sintaksisi dəstəkləyir:

  • * —— Bütün dəyərlərə uyğun gəlir (məsələn, * * * * * hər dəqiqə bir dəfə icra etmək deməkdir)
  • */N —— Hər N vahiddən bir dəfə (məsələn, */5 * * * * hər 5 dəqiqədən bir dəfə icra etmək deməkdir)
  • Tək rəqəm —— Müəyyən bir dəyərə uyğun gəlir (məsələn, 0 9 * * 1 hər bazar ertəsi səhər 9:00-da icra etmək deməkdir)

Qeyd: Vergüllə ayrılmış çoxlu dəyərlər (1,15 kimi) və aralıq ifadələri (1-5 kimi) dəstəklənmir. Əlavə məhdudiyyətlər üçün aşağıdakı Xəbərdarlıq bölməsinə baxın.

Dəstəklənən kombinasiya nümunələri

Bu proqram təminatı yerli Cron demonunu işlətmir, əksinə Cron ifadəsini Windows Task Scheduler (schtasks.exe) tetikleyici parametrlərinə tərcümə edir. Dəqiq xəritələmə üçün, analizatorda yalnız aşağıdakı 7 kombinasiya nümunəsi sərt kodlaşdırılmış və dəstəklənir, bu da planlaşdırılmış tapşırıq ssenarilərinin əksəriyyətini əhatə edir:

#NümunəİzahTətbiq ssenarisi
1* * * * *Hər dəqiqə icra etMonitorinq, real vaxt aşkarlama tapşırıqları
2*/N * * * *Hər N dəqiqədən bir dəfə icra etDövri yoxlama tapşırıqları
3M * * * *Hər saatın M-ci dəqiqəsində icra et (məs. 3 * * * *)Saatbaşı tapşırıqlar
4M H * * *Hər gün H saat M dəqiqədə icra et (məs. 0 3 * * *)Gündəlik texniki xidmət, məs. hər gün səhər jurnalları təmizləmək
5M H * * DOWHər həftə müəyyən gündə H saat M dəqiqədə icra et (məs. 0 12 * * 1)Həftəlik rutin tapşırıqlar, məs. hər bazar ertəsi məlumatları ehtiyat nüsxələmək
6M H D * *Hər ay müəyyən tarixdə H saat M dəqiqədə icra etAylıq tapşırıqlar, məs. hər ayın 1-də hesabat yaratmaq
7M H D MON *Hər il müəyyən ay və tarixdə H saat M dəqiqədə icra etİllik tapşırıqlar, məs. müəyyən ayda icra etmək

İfadə yuxarıdakı 7 nümunədən biri deyilsə, sistem onu Unsupported cron pattern kimi qəbul edəcək və yaratmaqdan imtina edəcək.

Xəbərdarlıq

Əsasən Windows Task Scheduler üzərində qurulduğu üçün, bu proqram təminatının Cron analizatoru və standart Linux Cron arasında aşağıdakı fərqlər var:

1. Siyahı (,) və aralıq (-) dəstəklənmir

Standart Cron vergüllə çoxlu ayrı-ayrı vaxt nöqtələrini təyin etməyə imkan verir (məs. 1,15,30 * * * * 1, 15, 30-cu dəqiqələr deməkdir), və ya defislə aralıq təyin etməyə imkan verir (məs. 1-5 * * * * 1-ci dən 5-ci dəqiqəyə qədər deməkdir).

Bu proqram təminatının məhdudiyyəti: Hər bir sahədə yalnız tək rəqəm, ulduz (*) və ya addım (*/N) doldurula bilər, vergül və defis dəstəklənmir.

2. Sərbəst kombinasiya dəstəklənmir

Standart Cron istənilən sahənin sərbəst kombinasiyasına imkan verir (məs. * 3 * * * hər gün səhər 3 saatının hər dəqiqəsi deməkdir), lakin bu proqram təminatı yalnız yuxarıda sadalanan 7 sabit nümunəni dəstəkləyir, bu aralıqdan kənar ifadələr rədd ediləcək.

3. Addım nümunəsinin vaxt uyğunlaşdırma fərqi

Standart Cron-da, */5 * * * * ciddi şəkildə saatın 0, 5, 10, 15... dəqiqələrinə uyğunlaşır. Bu proqram təminatı onu Windows-un /SC MINUTE /MO 5 parametrinə tərcümə edir, Windows-un emal məntiqi tapşırığın yaradıldığı və ya aktivləşdirildiyi andan etibarən intervalı hesablamaqdır.

Məsələn, 10:02-də hər 5 dəqiqədən bir işləyən tapşırığı yadda saxlayıb aktivləşdirsəniz, ilk dəfə 10:07-də icra olunacaq, sonra 10:12-də, standart saatın 10:05-ə uyğunlaşmadan.