Skip to content

Προγραμματιστής εργασιών ​

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

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

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

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

Αποθετήριο σεναρίων κοινότητας ​

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

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

Πρόκειται για ένα αποθετήριο κώδικα που συνδιαμορφώνεται από τους χρήστες· καλώς ορίζετε τα Pull Request με συνεισφορές σεναρίων ή την ανταλλαγή βέλτιστων πρακτικών.

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

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

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

Στοιχείο διαμόρφωσηςΠεριγραφή
Εντολή εκτέλεσηςΗ διαδρομή του σεναρίου ή του εκτελέσιμου προγράμματος που θα εκτελεστεί· υποστηρίζει μορφές .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 * * *)καθημερινή συντήρηση, π.χ. εκκαθάριση αρχείων καταγραφής κάθε βράδυ
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, ο αναλυτής Cron του λογισμικού διαφέρει από τον τυπικό Cron του Linux στα εξής:

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

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

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

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

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

3. Διαφορά ευθυγράμμισης χρόνου στα πρότυπα βημάτων ​

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

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