Τα Windows διαθέτουν διάφορους τρόπους για την αυτοματοποίηση εργασιών. Το πιο κοινό εργαλείο είναι το Χρονοδιάγραμμα εργασιών των Windows, αλλά αν χρησιμοποιείτε το Το υποσύστημα των Windows για Linux (WSL) , Υπάρχει επίσης ο δαίμονας cron που τρέχει εργασίες στο παρασκήνιο για WSL σας εγκατάσταση.
Cron δεν εκτελείται από προεπιλογή
Στα Windows 10 και Windows 11, cron έρχεται περιλαμβάνεται με περιβάλλοντα Linux όπως το Ubuntu. Το πρόβλημα είναι ότι WSL δεν ξεκινήσει αυτόματα cron, που σημαίνει ότι αυτοματοποιημένες εργασίες σας δεν παίρνουν εκτελούνται από προεπιλογή.
Για να διορθώσετε αυτό, θα μπορούσε να ξεκινήσει cron το χέρι κάθε φορά που ανοίγετε τη γραμμή εντολών, αλλά ξεκινώντας με το χέρι ένα εργαλείο που υποτίθεται ότι την αυτοματοποίηση εργασιών είναι το είδος του λείπει το σημείο.
Ευτυχώς, υπάρχει ένας εύκολος τρόπος για να διορθωθεί αυτό, και απαιτεί τη χρήση του Χρονοδιαγράμματος εργασιών.
Αν δεν έχετε χρησιμοποιήσει ποτέ cron στο Linux με τα καθήκοντα τρέξιμο, ελέγξτε προηγούμενο σεμινάριο μας πώς να προγραμματίσετε εργασίες σε Linux . Για τους σκοπούς μας εδώ, θα πάμε να υποθέσουμε ότι έχετε ήδη δημιουργήσει κάποιες θέσεις εργασίας cron στο WSL σας να εγκαταστήσετε και ότι χρειάζεστε βοήθεια για να διασφαλίσουμε ότι θα τρέξει αντί για babysitting cron όλη την ώρα.
Για αυτό το σεμινάριο, θα πάμε να χρησιμοποιήσετε
υπηρεσία sudo
να ελέγξει και να αρχίσει cron, που είναι ο συνιστώμενος τρόπος για να σταματήσει και να αρχίσει τις υπηρεσίες στις σύγχρονες εκδόσεις του Ubuntu, το πιο δημοφιλές διανομής WSL.
Επίσης, σημειώστε ότι αυτό το σεμινάριο προϋποθέτει ότι έχετε δικαιώματα διαχειριστή για την έκδοση του WSL. Αν είστε ο μοναδικός χρήστης του υπολογιστή σας και μπορείτε να ενεργοποιήσετε την WSL για τη δική σας, τότε έχετε δικαιώματα διαχειριστή.
Υπόδειξη: Αυτό λειτουργεί στο Το υποσύστημα των Windows για Linux σε Windows 11 , Επίσης, όχι μόνο για τα Windows 10.
ΣΧΕΤΙΖΕΤΑΙ ΜΕ: Πώς να τον προγραμματισμό εργασιών σε Linux: Μια εισαγωγή στην Crontab Αρχεία
Προετοιμάστε το Linux
Το πρώτο πράγμα που πρέπει να κάνουμε είναι να επιτρέψει στον υπολογιστή να ξεκινήσει cron χωρίς κωδικό πρόσβασης. Όταν ξεκινάτε μια υπηρεσία όπως το cron, μπορείτε να χρησιμοποιήσετε την εντολή
sudo έναρξη cron υπηρεσιών
. Αλλά η εντολή απαιτεί κωδικό πρόσβασης, το οποίο τα Windows δεν θα έχουν πρόσβαση σε όταν ξεκινά. Ο τρόπος γύρω από αυτό είναι να απενεργοποιήσετε την απαίτηση για έναν κωδικό πρόσβασης για αυτήν την εντολή.
Για να το κάνετε αυτό, ανοίξτε το παράθυρο τερματικού WSL σας και πληκτρολογήστε
sudo visudo
. Hit Enter στο πληκτρολόγιό σας, εισάγετε τον κωδικό πρόσβασης Linux, και πατήστε ξανά το πλήκτρο Enter. Αν χρησιμοποιείτε το Ubuntu, αυτό ανοίγει το αρχείο «sudoers» χρησιμοποιώντας τον αρχάριο προς το περιβάλλον
Nano γραμμής εντολών επεξεργαστή κειμένου
.
sudoers
είναι ένα αρχείο για τους διαχειριστές του συστήματος που μπορεί να αλλάξει τα προνόμια και τα δικαιώματα πρόσβασης για τους χρήστες.
Προσθέστε την ακόλουθη εντολή στο κάτω μέρος του αρχείου sudoers, και στη συνέχεια πατήστε Ctrl + O για να αποθηκεύσετε και Ctrl + X για να βγείτε από το αρχείο.
% sudo ALL = NOPASSWD: / usr / sbin / service έναρξη cron
Αυτή η εντολή sudoers λέει ότι κάθε χρήστης που έχει αρκετά προνόμια για να χρησιμοποιήσετε την εντολή sudo (που θα πρέπει να περιλαμβάνουν) δεν απαιτεί έναν κωδικό πρόσβασης για να εκτελέσετε την εντολή
sudo έναρξη cron υπηρεσιών
, Η οποία ξεκινά τον δαίμονα cron.
Αφού έχετε αποθηκεύσει το αρχείο, μπορείτε να ελέγξετε ότι η εντολή κάνει τη δουλειά του με την πληκτρολόγηση
sudo έναρξη cron υπηρεσιών
Και θα πρέπει να ξεκινήσει cron χωρίς να ζητήσει έναν κωδικό πρόσβασης. Αν αυτό δουλέψει, ας στρέψουμε τον δαίμονα cron off και πάλι, ώστε να μπορούμε να ελέγξουμε ότι το έργο που δημιουργούμε στο επόμενο βήμα λειτουργεί σωστά. Για να το κάνετε αυτό, εκτελέστε
Στάση cron υπηρεσία sudo
.
Ρύθμιση Cron στην Task Scheduler των Windows
Αυτό είναι μία φάση του ταξιδιού μας προς την αυτοματοποίηση cron. κίνηση Ας σχετικά με το μέρος 2 με το Χρονοδιάγραμμα εργασιών. Πατήστε το πλήκτρο των Windows στο πληκτρολόγιο, και στη συνέχεια αναζήτηση για «Χρονοδιάγραμμα εργασιών». Ξεκινήστε τη συντόμευση «Χρονοδιάγραμμα εργασιών».
Όταν ξεκινάει, ανατρέξτε στην ενότητα «Ενέργειες» και επιλέξτε «Δημιουργία βασικό καθήκον.»
Αυτό ανοίγει το Βασικό Οδηγό εργασιών. Κατ 'αρχάς, πρόκειται να σας ζητήσουμε να αναφέρουμε το έργο και να του δώσετε μια περιγραφή. Μπορείτε να εισάγετε οτιδήποτε θέλετε εδώ. Ζητήσαμε το έργο «cron,» και η περιγραφή είναι, «Μια εργασία για να ξεκινήσει cron κατά την εκκίνηση του συστήματος.» Τώρα, πατήστε «Next».
Στην επόμενη ενότητα, θα πιάσουμε δουλειά. Κατ 'αρχάς, τα Windows θέλει να ξέρει πότε θέλουμε να εκτελέσετε την εργασία. Επιλέξτε το «όταν ο υπολογιστής ξεκινά» κουμπί και κάντε κλικ στο «Next».
Στην επόμενη ενότητα, θέλουμε «να ξεκινήσετε ένα πρόγραμμα.» Αυτή η επιλογή είναι ενεργοποιημένη από προεπιλογή, οπότε κάντε κλικ στο «Next».
Τώρα, πρέπει να καθορίσετε το πρόγραμμα που θέλουμε να τρέξει, το οποίο είναι WSL. Πληκτρολογήστε την ακόλουθη στο πλαίσιο εισαγωγής κειμένου «Πρόγραμμα / Σενάριο»:
C: \ Windows \ System32 \ wsl.exe
Πρέπει, επίσης, να προσθέσετε κάποια επιχειρήματα, αφού όλοι έχουμε κάνει μέχρι στιγμής είναι να ξεκινήσετε WSL, αλλά μέσα WSL, θα πρέπει να Ubuntu πει να ξεκινήσει cron. Έτσι, στο πλαίσιο «Προσθήκη Επιχειρήματα», προσθέτουν:
sudo / usr / sbin / service έναρξη cron
Hit «Next» για μια ακόμη φορά, επιλέξτε το πλαίσιο που λέει «Ανοίξτε το πλαίσιο διαλόγου Ιδιότητες Όταν Κάντε κλικ στο κουμπί Finish» και στη συνέχεια κάντε κλικ στο κουμπί «Τέλος».
Το έργο έχει δημιουργηθεί, αλλά πρέπει να κάνουμε ένα τελευταίο πράγμα για να βεβαιωθείτε ότι όλα λειτουργούν. Ένα νέο παράθυρο θα ανοίξει, πράγμα που δείχνει την περίληψη της εργασίας που θα δημιουργηθεί, αλλά αυτό είναι μόνο που να τρέχει όταν είστε συνδεδεμένοι. Πρέπει να επιλέξετε το κουμπί που λέει «Run Είτε χρήστης είναι συνδεδεμένος ή όχι», και στη συνέχεια πατήστε «OK».
Τώρα, ας δοκιμάσουμε το έργο μας με δύο τρόπους. Κατ 'αρχάς, στο κύριο παράθυρο του χρονοδιαγράμματος εργασιών, μετακινηθείτε προς τα κάτω μέχρι να δείτε το όνομά εργασία σας. Εάν χρησιμοποιείται το όνομα «cron,» θα πρέπει να βρεθεί στην κορυφή της λίστας. Κάντε δεξί κλικ στην εργασία και επιλέξτε «Run».
Στη συνέχεια, πηγαίνετε πίσω στο τερματικό WSL σας και πληκτρολογήστε
κατάσταση cron υπηρεσία sudo
, Και πρέπει να πω ότι το cron τρέχει. Αν δεν είναι, διπλός έλεγχος ότι έχετε εισάγει τα πάντα σωστά στα προηγούμενα βήματα.
Αν όλα πήγαν σωστά στο πρώτο έλεγχο, ήρθε η ώρα για τη μεγάλη δοκιμασία. Κάντε επανεκκίνηση του υπολογιστή σας, και όταν γυρίσεις, ανοίξτε ένα τερματικό WSL και να τρέξει
κατάσταση cron υπηρεσία sudo
, Η οποία θα πρέπει να αναφέρουμε ότι cron τρέχει τώρα.
Συγχαρητήρια! Έχετε λάβει το πρώτο σας βήμα σε ένα μεγαλύτερο, αυτοματοποιημένο κόσμο. Με cron τρέχει στο παρασκήνιο, οι cronjobs ότι μπορείτε να ρυθμίσετε το WSL θα εκτελείται αυτόματα σύμφωνα με το χρονοδιάγραμμα.