Skip to content

Task Scheduler xususiyati haqida umumiy ma'lumot

Task Scheduler (Vazifa rejalashtiruvchisi) WSLda davriy vazifalarni avtomatlashtirish uchun ishlatiladi va takrorlanuvchi qo'lda bajariladigan texnik xizmat ko'rsatish operatsiyalarining oldini oladi. Bu murakkab buyruq qatori parametrlarini yodlash zaruratisiz rejalashtirilgan vazifalarni yaratish va boshqarish imkonini beradigan vizual boshqaruv interfeysini taqdim etadi.

Ushbu xususiyatning namuna stsenariylari:

  • WSLdagi distributivlarni muntazam zaxiralash
  • Maxsus skriptlar yoki buyruqlarni bajarish

Barcha vazifalar markazlashtirilgan ko'rish va boshqarish uchun Windows Vazifa rejalashtiruvchisining \WSLDashboard\UserTasks\ yo'li ostida to'planadi. Interfeysda vazifa holatini (Tayyor / Ishlamoqda / O'chirilgan) real vaqtda ko'rishingiz mumkin.

Hamjamiyat skriptlar ombori

Quyidagi hamjamiyat omboridan namunaviy skriptlarni (distributiv zaxira nusxasi) yuklab olish orqali tezda boshlashingiz mumkin:

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

Bu foydalanuvchilar birgalikda yaratgan kod omboridir. Skriptlar qo'shish yoki eng yaxshi amaliyotlarni ulashish uchun Pull Request yuborishingiz mumkin.

Buyruqni bajarish

Buyruq konfiguratsiyasi

Har bir rejalashtirilgan vazifa uchun bajariladigan buyruq (skript yoki bajariladigan fayl) quyidagi variantlar bilan sozlanishi mumkin:

Konfiguratsiya elementiTavsif
Bajarish buyrug'iBajariladigan skript yoki bajariladigan fayl yo'li. .bat, .ps1, .cmd, .exe, .py kabi formatlarni qo'llab-quvvatlaydi. "Ko'rib chiqish" tugmasi orqali fayl tanlanishi mumkin.
Buyruq parametrlariBuyruqqa uzatiladigan qo'shimcha parametrlar (ixtiyoriy).
Administrator huquqlariBelgilanganda, vazifa eng yuqori huquqlar bilan ishlaydi, UAC ko'tarishni talab qiladigan operatsiyalar uchun mos keladi.

Vazifa operatsiyalari

Vazifani yaratgandan so'ng, siz quyidagi operatsiyalarni bajarishingiz mumkin:

OperatsiyaTavsif
Darhol ishga tushirishRejalashtirish qoidalaridan qat'i nazar, vazifani darhol majburiy ishga tushiring.
Yoqish/o'chirishVazifaning avtomatik rejalashtirilishini vaqtincha to'xtating yoki qayta boshlang.
O'chirishVazifani Vazifa rejalashtiruvchisidan olib tashlang.

Rejalashtirish qoidalari

Cron ifodasi

Vazifalarni rejalashtirish bajarish qoidalarini belgilash uchun standart 5 maydonli Cron ifodasidan foydalanadi, format quyidagicha:

daqiqa soat kun oy hafta
MaydonQiymat oralig'iTavsif
daqiqa0 - 59Har soatning nechanchi daqiqasida bajarish
soat0 - 23Har kunning nechanchi soatida bajarish
kun1 - 31Har oyning nechanchi kunida bajarish
oy1 - 12Har yilning nechanchi oyida bajarish
hafta0 - 70 va 7 ikkalasi ham yakshanbani bildiradi

Har bir maydon quyidagi sintaksisni qo'llab-quvvatlaydi:

  • * —— barcha qiymatlarga mos keladi (masalan, * * * * * har daqiqada bajarish degani)
  • */N —— har N birlikda bajarish (masalan, */5 * * * * har 5 daqiqada bajarish degani)
  • Yagona raqam —— ma'lum bir qiymatga mos keladi (masalan, 0 9 * * 1 har dushanba kuni soat 9:00 da bajarish degani)

Eslatma: Vergul bilan ajratilgan bir nechta qiymatlar (1,15 kabi) va oralif ifodalari (1-5 kabi) qo'llab-quvvatlanmaydi. Qo'shimcha cheklovlar uchun pastdagi Eslatmalar bo'limiga qarang.

Qo'llab-quvvatlanadigan kombinatsiya naqshlari

Ushbu dastur mahalliy Cron demonini ishga tushirmaydi, balki Cron ifodasini Windows Vazifa rejalashtiruvchisi (schtasks.exe) triger parametrlariga tarjima qiladi. Aniq moslashtirish uchun tahlil qiluvchi quyidagi 7 kombinatsiya naqshini qo'llab-quvvatlaydi, bu ko'pchilik rejalashtirilgan vazifa stsenariylarini qamrab oladi:

#NaqshTavsifQo'llash sohasi
1* * * * *Har daqiqada bajarishMonitoring, real vaqtda aniqlash vazifalari
2*/N * * * *Har N daqiqada bir marta bajarishDavriy tekshirish vazifalari
3M * * * *Har soatning M daqiqasida bajarish (masalan, 3 * * * *)Soat boshidagi vazifalar
4M H * * *Har kuni H soat M daqiqada bajarish (masalan, 0 3 * * *)Kundalik texnik xizmat, masalan, har kuni ertalab jurnallarni tozalash
5M H * * DOWHar hafta ma'lum kuni H soat M daqiqada bajarish (masalan, 0 12 * * 1)Haftalik muntazam vazifalar, masalan, har dushanba ma'lumotlarni zaxiralash
6M H D * *Har oy ma'lum sanada H soat M daqiqada bajarishOylik vazifalar, masalan, har oyning 1-kunida hisobot yaratish
7M H D MON *Har yil ma'lum oy va sanada H soat M daqiqada bajarishYillik vazifalar, masalan, ma'lum oyda bajarish

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

Eslatmalar

Ushbu dastur Windows Vazifa rejalashtiruvchisi asosida ishlagani sababli, uning Cron tahlil qiluvchisi standart Linux Cron-dan quyidagi farqlarga ega:

1. Ro'yxat (,) va oralif (-) qo'llab-quvvatlanmaydi

Standart Cron vergul orqali bir nechta diskret vaqt nuqtalarini aniqlashga ruxsat beradi (masalan, 1,15,30 * * * * 1, 15, 30-daqiqalarni bildiradi), yoki defis orqali oralifni aniqlashga ruxsat beradi (masalan, 1-5 * * * * 1-dan 5-gacha daqiqalarni bildiradi).

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

2. Erkin kombinatsiya qo'llab-quvvatlanmaydi

Standart Cron istalgan maydonning erkin kombinatsiyasiga ruxsat beradi (masalan, * 3 * * * har kuni ertalab soat 3 dagi har bir daqiqani bildiradi), ammo ushbu dastur faqat yuqorida sanab o'tilgan 7 ta qat'iy naqshni qo'llab-quvvatlaydi, bu doiradan tashqaridagi ifodalar rad etiladi.

3. Qadam naqshining vaqt moslashuvidagi farq

Standart Cron-da */5 * * * * soatning 0, 5, 10, 15... daqiqalariga qat'iy moslashadi. Ushbu dastur uni Windows-ning /SC MINUTE /MO 5 parametriga tarjima qiladi. Windows-ning ishlov berish mantiqi vazifa yaratilgan yoki faollashtirilgan paytdan boshlab intervalni hisoblashdir.

Masalan, agar siz 10:02 da har 5 daqiqada ishlaydigan vazifani saqlasangiz va faollashtirsangiz, u birinchi marta 10:07 da ishlaydi, keyin 10:12 da, standart soatning 10:05 ga moslashmasdan.