Skip to content

Vazifa rejalashtiruvchisi ​

Task Scheduler (Vazifalar rejalashtiruvchisi) WSL ichida davriy vazifalarni avtomatlashtirish uchun xizmat qiladi va takrorlanadigan qo'lda texnik xizmat amallarining oldini oladi. U vizual boshqaruv interfeysini taqdim etadi, shuning uchun murakkab buyruq qatori parametrlarini yodlamasdan rejalashtirilgan vazifalarni yaratish va boshqarish mumkin.

Ushbu funksiyadan foydalanish misollari:

  • WSL distributivlarini muntazam zaxiralash
  • Maxsus skriptlar yoki buyruqlarni bajarish

Barcha vazifalar Windows Task Scheduler'dagi \WSLDashboard\UserTasks\ yo'li ostida jamlanadi, bu markazlashgan ko'rish va boshqarishni osonlashtiradi. Vazifa holatini (tayyor / ishlayapti / o'chirilgan) interfeysda real vaqtda kuzatishingiz mumkin.

Jamiyat skriptlari ombori ​

Quyidagi jamiyat omboridan namunaviy skriptlarni (distributiv zaxiralash) yuklab olib, tezda boshlashingiz mumkin:

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

Bu foydalanuvchilar birgalikda yaratadigan kod ombori; skript qo'shish yoki eng yaxshi amaliyotlarni baham ko'rish uchun Pull Request yuborishingizni mamnuniyat bilan qabul qilamiz.

Bajariladigan buyruq ​

Buyruq konfiguratsiyasi ​

Har bir rejalashtirilgan vazifa uchun bajariladigan buyruqni (skript yoki ijro etiladigan dastur) sozlash mumkin, quyidagi variantlar qo'llab-quvvatlanadi:

Konfiguratsiya variantiTavsif
Bajariladigan buyruqIshga tushiriladigan skript yoki dastur yo'li; .bat, .ps1, .cmd, .exe, .py va h.k. formatlarni qo'llab-quvvatlaydi. Faylni "Ko'rish" tugmasi orqali tanlash mumkin.
Buyruq parametrlariBuyruqqa uzatiladigan qo'shimcha parametrlar, ixtiyoriy.
Administrator ruxsatiBelgilanganda, vazifa eng yuqori ruxsatlar bilan ishlaydi, UAC ruxsat oshirishni talab qiladigan amallar uchun mos.

Vazifa amallari ​

Vazifa yaratilgandan so'ng quyidagi amallarni bajarishingiz mumkin:

AmalTavsif
Hozir ishga tushirishVazifani rejalashtirish qoidalaridan qat'i nazar darhol bajarishga majbur qiladi.
Yoqish/O'chirishVazifaning avtomatik rejalashtirilishini to'xtatadi yoki tiklaydi.
O'chirishVazifani Task Scheduler'dan olib tashlaydi.

Rejalashtirish qoidalari ​

Cron ifodasi ​

Vazifa rejalashtirish bajarish qoidalarini aniqlash uchun standart 5 maydonli Cron ifodasidan foydalanadi, formati quyidagicha:

daqiqa soat kun oy hafta_kuni
MaydonQiymat diapazoniTavsif
daqiqa0 - 59har soatning nechanchi daqiqasida bajariladi
soat0 - 23har kunning nechanchi soatida bajariladi
kun1 - 31har oyning nechanchi kunida bajariladi
oy1 - 12har yilning nechanchi oyida bajariladi
hafta kuni0 - 70 va 7 ikkalasi ham yakshanbani bildiradi

Har bir maydon quyidagi sintaksisni qo'llab-quvvatlaydi:

  • * — barcha qiymatlarga mos keladi (masalan, * * * * * har daqiqada bajarilishini bildiradi)
  • */N — har N birlikda bir marta bajariladi (masalan, */5 * * * * har 5 daqiqada bir marta bajariladi)
  • Bitta raqam — ma'lum qiymatga mos keladi (masalan, 0 9 * * 1 har dushanba ertalab soat 9:00 da bajariladi)

Eslatma: vergul bilan ajratilgan bir nechta qiymatlar (masalan, 1,15) va diapazon ifodalari (masalan, 1-5) qo'llab-quvvatlanmaydi; qo'shimcha cheklovlar uchun quyidagi Eslatmalar bo'limiga qarang.

Qo'llab-quvvatlanadigan kombinatsiya naqshlari ​

Ushbu dastur mahalliy Cron demonini ishga tushirmaydi; buning o'rniga Cron ifodalarini Windows vazifalar rejalashtiruvchisi (schtasks.exe) trigger parametrlariga tarjima qiladi. Aniq xaritalash uchun tahlil qiluvchi faqat quyidagi 7 kombinatsiya naqshini qat'iy qo'llab-quvvatlaydi, bu rejalashtirilgan vazifalarning aksariyat holatlarini qamrab oladi:

#NaqshTavsifQo'llash holatlari
1* * * * *har daqiqada bajariladimonitoring, real vaqtda aniqlash vazifalari
2*/N * * * *har N daqiqada bir marta bajariladidavriy tekshirish vazifalari
3M * * * *har soatning M daqiqasida bajariladi (masalan, 3 * * * *)soat boshidagi vazifalar
4M H * * *har kuni soat H:M da bajariladi (masalan, 0 3 * * *)kundalik texnik xizmat, masalan, har kecha jurnallarni tozalash
5M H * * DOWhaftaning ma'lum kunida soat H:M da bajariladi (masalan, 0 12 * * 1)haftalik muntazam vazifalar, masalan, har dushanba ma'lumotlarni zaxiralash
6M H D * *har oyning ma'lum sanasida soat H:M da bajariladioylik vazifalar, masalan, har oyning 1-kunida hisobot yaratish
7M H D MON *har yilning ma'lum oyi va sanasida soat H:M da bajariladiyillik vazifalar, masalan, ma'lum oyda bajarish

Agar ifoda yuqoridagi 7 naqshdan biriga kirmasa, tizim uni Unsupported cron pattern deb hisoblaydi va yaratishni rad etadi.

Eslatmalar ​

Asos Windows vazifalar rejalashtiruvchisiga qurilgani uchun, ushbu dasturning Cron tahlil qiluvchisi standart Linux Cron'dan quyidagi jihatlarda farq qiladi:

1. Ro'yxatlar (,) va diapazonlar (-) qo'llab-quvvatlanmaydi ​

Standart Cron vergul orqali bir nechta diskret vaqt nuqtalarini belgilashga ruxsat beradi (masalan, 1,15,30 * * * * 1-, 15- va 30-daqiqalarni bildiradi) yoki defis orqali diapazon (masalan, 1-5 * * * * 1-dan 5-daqiqagacha).

Ushbu dasturning cheklovi: Har bir maydon faqat bitta raqam, yulduzcha (*) yoki qadam (*/N) bo'lishi mumkin; vergul va defis qo'llab-quvvatlanmaydi.

2. Erkin kombinatsiya qo'llab-quvvatlanmaydi ​

Standart Cron istalgan maydonlarning erkin kombinatsiyasiga ruxsat beradi (masalan, * 3 * * * har kuni ertalab soat 3 dagi har daqiqani bildiradi), lekin ushbu dastur faqat yuqorida keltirilgan 7 qat'iy naqshni qo'llab-quvvatlaydi; bu diapazondan tashqaridagi ifodalar rad etiladi.

3. Qadam naqshlarida vaqt moslashuvidagi farq ​

Standart Cron'da */5 * * * * qat'iy ravishda soatning 0, 5, 10, 15... daqiqalariga moslanadi. Ushbu dastur uni Windows'ning /SC MINUTE /MO 5 parametrlariga tarjima qiladi; Windows mantiqi intervalni vazifa yaratilgan yoki yoqilgan paytdan boshlab hisoblaydi.

Masalan, agar soat 10:02 da har 5 daqiqada ishlaydigan vazifani saqlab yoqsangiz, u birinchi marta 10:07 da, keyin 10:12 da ishlaydi, standart soatga moslashgan 10:05 da emas.