Skip to content

Παρουσίαση λειτουργίας Task Scheduler

Ο Task Scheduler (Προγραμματιστής εργασιών) χρησιμοποιείται για τον αυτοματισμό επαναλαμβανόμενων εργασιών στο WSL, αποφεύγοντας επαναλαμβανόμενες χειροκίνητες λειτουργίες συντήρησης. Παρέχει μια οπτική διεπαφή διαχείρισης που σας επιτρέπει να δημιουργείτε και να διαχειρίζεστε προγραμματισμένες εργασίες χωρίς να χρειάζεται να απομνημονεύετε πολύπλοκες παραμέτρους γραμμής εντολών.

Παραδείγματα σεναρίων αυτής της λειτουργίας:

  • Τακτική δημιουργία αντιγράφων ασφαλείας διανομών WSL
  • Εκτέλεση προσαρμοσμένων σεναρίων ή εντολών

Όλες οι εργασίες συγκεντρώνονται στη διαδρομή \WSLDashboard\UserTasks\ στον Προγραμματιστή εργασιών των Windows για κεντρική διαχείριση και προβολή. Μπορείτε να βλέπετε σε πραγματικό χρόνο την κατάσταση των εργασιών (Έτοιμο / Σε εκτέλεση / Απενεργοποιημένο) στη διεπαφή.

Σενάρια Κοινότητας

Μπορείτε να κατεβάσετε παραδείγματα σεναρίων (δημιουργία αντιγράφων ασφαλείας διανομών) από το αποθετήριο της κοινότητας για να ξεκινήσετε γρήγορα:

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

Αυτό είναι ένα αποθετήριο κώδικα που βασίζεται στην κοινότητα. Τα Pull Requests είναι ευπρόσδεκτα για συνεισφορά σεναρίων ή ανταλλαγή βέλτιστων πρακτικών.

Εκτέλεση εντολής

Διαμόρφωση εντολής

Κάθε προγραμματισμένη εργασία μπορεί να διαμορφωθεί με μια εντολή (σενάριο ή εκτελέσιμο αρχείο) που υποστηρίζει τις ακόλουθες επιλογές:

ΡύθμισηΠεριγραφή
ΕντολήΔιαδρομή προς το σενάριο ή το εκτελέσιμο αρχείο. Υποστηρίζει μορφές .bat, .ps1, .cmd, .exe, .py. Χρησιμοποιήστε το κουμπί "Αναζήτηση" για να επιλέξετε ένα αρχείο.
ΟρίσματαΠρόσθετα ορίσματα που μεταβιβάζονται στην εντολή, προαιρετικά.
Εκτέλεση με δικαιώματα διαχειριστήΌταν είναι ενεργοποιημένο, η εργασία εκτελείται με τα υψηλότερα δικαιώματα, κατάλληλο για λειτουργίες που απαιτούν ανύψωση UAC.

Λειτουργίες εργασίας

Αφού δημιουργήσετε μια εργασία, μπορείτε να εκτελέσετε τις ακόλουθες λειτουργίες:

ΕνέργειαΠεριγραφή
Εκτέλεση τώραΑναγκάστε την άμεση εκτέλεση της εργασίας, ανεξάρτητα από τους κανόνες προγραμματισμού.
Ενεργοποίηση/ΑπενεργοποίησηΔιακοπή ή συνέχιση του αυτόματου προγραμματισμού της εργασίας.
ΔιαγραφήΑφαίρεση της εργασίας από τον Προγραμματιστή εργασιών.

Κανόνες προγραμματισμού

Έκφραση Cron

Ο προγραμματισμός εργασιών χρησιμοποιεί την τυπική έκφραση Cron 5 πεδίων για να ορίσει κανόνες εκτέλεσης στην ακόλουθη μορφή:

λεπτό ώρα ημέρα μήνας ημέρα_εβδομάδας
ΠεδίοΕύροςΠεριγραφή
λεπτό0 - 59Το λεπτό της ώρας για εκτέλεση
ώρα0 - 23Η ώρα της ημέρας για εκτέλεση
ημέρα1 - 31Η ημέρα του μήνα για εκτέλεση
μήνας1 - 12Ο μήνας του έτους για εκτέλεση
ημέρα_εβδομάδας0 - 7Ημέρα της εβδομάδας (0 και 7 αντιπροσωπεύουν και τα δύο την Κυριακή)

Κάθε πεδίο υποστηρίζει την ακόλουθη σύνταξη:

  • * — Αντιστοιχεί σε όλες τις τιμές (π.χ., * * * * * σημαίνει εκτέλεση κάθε λεπτό)
  • */N — Κάθε N μονάδες (π.χ., */5 * * * * σημαίνει εκτέλεση κάθε 5 λεπτά)
  • Μεμονωμένος αριθμός — Αντιστοιχεί σε μια συγκεκριμένη τιμή (π.χ., 0 9 * * 1 σημαίνει εκτέλεση κάθε Δευτέρα στις 9:00 π.μ.)

Σημείωση: Τιμές διαχωρισμένες με κόμμα (όπως 1,15) και εκφράσεις εύρους (όπως 1-5) δεν υποστηρίζονται. Περισσότερους περιορισμούς θα βρείτε στην ενότητα Περιορισμοί.

Υποστηριζόμενα συνδυαστικά μοτίβα

Αυτό το λογισμικό δεν εκτελεί εγγενή δαίμονα Cron, αλλά μεταφράζει τις εκφράσεις Cron σε παραμέτρους ενεργοποίησης του Προγραμματιστή εργασιών Windows (schtasks.exe). Για ακριβή αντιστοίχιση, ο αναλυτής υποστηρίζει μόνο τα ακόλουθα 7 συνδυαστικά μοτίβα, που καλύπτουν τη συντριπτική πλειονότητα των σεναρίων προγραμματισμένων εργασιών:

#ΜοτίβοΠεριγραφήΠερίπτωση χρήσης
1* * * * *Εκτέλεση κάθε λεπτόΕργασίες παρακολούθησης, ανίχνευσης σε πραγματικό χρόνο
2*/N * * * *Εκτέλεση κάθε N λεπτάΠεριοδικές εργασίες ελέγχου
3M * * * *Εκτέλεση στο M λεπτό κάθε ώρας (π.χ. 3 * * * *)Εργασίες ακριβώς την ώρα
4M H * * *Εκτέλεση στις H: M κάθε μέρα (π.χ. 0 3 * * *)Καθημερινή συντήρηση, π.χ. εκκαθάριση αρχείων καταγραφής κάθε μέρα στις 3:00
5M H * * DOWΕκτέλεση στις H: M μια συγκεκριμένη ημέρα της εβδομάδας (π.χ. 0 12 * * 1)Εβδομαδιαίες εργασίες ρουτίνας, π.χ. δημιουργία αντιγράφων ασφαλείας κάθε Δευτέρα
6M H D * *Εκτέλεση στις H: M μια συγκεκριμένη ημέρα του μήναΜηνιαίες εργασίες, π.χ. δημιουργία αναφορών την 1η ημέρα του μήνα
7M H D MON *Εκτέλεση στις H: M ένα συγκεκριμένο μήνα και ημέρα του έτουςΕτήσιες εργασίες, π.χ. εκτέλεση σε συγκεκριμένο μήνα

Εάν η έκφραση δεν ανήκει σε κανένα από τα παραπάνω 7 μοτίβα, το σύστημα τη θεωρεί ως Unsupported cron pattern και απορρίπτει τη δημιουργία.

Περιορισμοί

Δεδομένου ότι η υλοποίηση βασίζεται στον Προγραμματιστή εργασιών Windows, υπάρχουν οι ακόλουθες διαφορές σε σύγκριση με το τυπικό Linux Cron:

1. Δεν υποστηρίζει λίστες (,) και εύρη (-)

Το τυπικό Cron επιτρέπει τον ορισμό πολλαπλών διακριτών χρονικών σημείων με κόμμα (π.χ. 1,15,30 * * * * σημαίνει το 1ο, 15ο και 30ο λεπτό) ή εύρη με παύλα (π.χ. 1-5 * * * * σημαίνει τα λεπτά 1 έως 5).

Περιορισμός αυτού του λογισμικού: Κάθε πεδίο μπορεί να περιέχει μόνο έναν αριθμό, αστερίσκο (*) ή βήμα (*/N), κόμματα και παύλες δεν υποστηρίζονται.

2. Δεν υποστηρίζει ελεύθερους συνδυασμούς

Το τυπικό Cron επιτρέπει τον ελεύθερο συνδυασμό πεδίων (π.χ. * 3 * * * σημαίνει κάθε λεπτό της ώρας από 3:00 έως 3:59), αλλά αυτό το λογισμικό υποστηρίζει μόνο τα 7 σταθερά μοτίβα που αναφέρονται παραπάνω. Εκφράσεις εκτός αυτού του εύρους θα απορριφθούν.

3. Διαφορά στη χρονική ευθυγράμμιση των μοτίβων βήματος

Στο τυπικό Cron, το */5 * * * * ευθυγραμμίζεται αυστηρά με τα λεπτά 0, 5, 10, 15... του ρολογιού. Αυτό το λογισμικό το μεταφράζει στην παράμετρο Windows /SC MINUTE /MO 5. Η λογική των Windows υπολογίζει το διάστημα από τη στιγμή δημιουργίας ή ενεργοποίησης της εργασίας.

Για παράδειγμα, εάν αποθηκεύσετε και ενεργοποιήσετε μια εργασία που εκτελείται κάθε 5 λεπτά στις 10:02, θα εκτελεστεί για πρώτη φορά στις 10:07, στη συνέχεια στις 10:12, αντί να ευθυγραμμιστεί με το τυπικό 10:05.