Και οι δύο εκφράσεις μοιάζουν με Τετάρτη πρωί, και μόνο η μία από αυτές σημαίνει μία φορά. Το 0 10 * * 3 εκτελείται στις 10:00 την Τετάρτη· το * 10 * * 3 εκτελείται σε κάθε λεπτό της δέκατης ώρας, εξήντα ευκαιρίες να ξεκινήσει το ίδιο τούνελ. Αν η εντολή είναι εκκινητής που δεν ελέγχει για υπάρχουσα συνεδρία, η δεύτερη εκδοχή δεν είναι λάθος προγραμματισμού, είναι βρόχος που δημιουργεί ανταγωνιστικούς ιδιοκτήτες. Διαβάστε το πεδίο των λεπτών πριν διαβάσετε οτιδήποτε άλλο.

Τα πέντε πεδία είναι λεπτό, ώρα, ημέρα του μήνα, μήνας και ημέρα της εβδομάδας, με αυτή τη σειρά, και ένα αστερίσκος στο πρώτο σημαίνει κάθε λεπτό.

Το πεδίο των λεπτών καθορίζει πόσες φορές

Ο αρχικός αριθμός είναι το λεπτό, άρα το 0 10 * * 3 είναι το πρώτο λεπτό της δέκατης ώρας την Τετάρτη. Η αντικατάστασή του με αστερίσκο διατηρεί την ώρα και την ημέρα και χάνει την ιδιότητα του μία-μόνο-φορά, που παράγει εξήντα αντιστοιχίσεις. Το cron δεν αφαιρεί διπλότυπα: κάθε αντιστοίχιση ξεκινά ξανά την εντολή. Αυτό δεν είναι λεπτομέρεια για το cron, είναι σημασιολογία πεδίων, και αξίζει να διαβάσετε την αναφορά του εγκατεστημένου χρονοπρογραμματιστή, επειδή η σειρά των πεδίων και η προαιρετική στήλη ονόματος χρήστη διαφέρουν μεταξύ crontab χρήστη και συστήματος.

Δοκιμάστε με μια ακίνδυνη εντολή που καταγράφει τη δική της χρονική σφραγίδα για μία ημέρα. Μία γραμμή στο αρχείο καταγραφής είναι πρόγραμμα· εξήντα γραμμές μέσα σε μία ώρα είναι μάθημα.

Τι κάνει μια δεύτερη εκκίνηση στην πρώτη

Ένας καλοαναθρεμμένος εκκινητής αντιλαμβάνεται ότι η σύνδεση είναι ήδη ενεργή και δεν κάνει τίποτα. Μια ακατέργαστη κλήση openvpn όχι: δημιουργεί άλλη διεργασία, άλλη μια προσπάθεια δέσμευσης συσκευής ή θύρας, και άλλο ένα σύνολο διαδρομών που ανταγωνίζονται για τους ίδιους προορισμούς. Στο NetworkManager, τα επαναλαμβανόμενα αιτήματα ενεργοποίησης για μία σύνδεση είναι συνήθως ταυτοδύναμα, και γι' αυτό ακριβώς το πρόβλημα μένει κρυφό μέχρι κάποιος να χρησιμοποιήσει διαφορετική εντολή. Το πρόγραμμα πρέπει να ρωτά τον ιδιοκτήτη που διαχειρίζεται ήδη το τούνελ.

Στη συνέχεια αποφασίστε τι σημαίνει ένα αίτημα όσο η σύνδεση βρίσκεται σε φάση σύνδεσης. Ούτε η διπλή ενεργοποίηση ούτε μια ουρά εκκρεμών εκκινήσεων είναι προφανώς σωστές· διαλέξτε μία και κάντε τον εκκινητή να την υλοποιήσει, αντί να αφήσετε τον χρονοπρογραμματιστή να αποφασίσει κατά λάθος.

Μετρήστε τα πεδία πριν από την εντολή

Τα crontab χρήστη και συστήματος διαφέρουν ως προς το αν εμφανίζεται στήλη ονόματος χρήστη πριν από την εντολή. Μια καταχώριση που αντιγράφεται μεταξύ τους είτε εκτελείται με λάθος λογαριασμό είτε περνά το όνομα χρήστη ως πρώτη λέξη της εντολής. Ελέγξτε την εγκατεστημένη αναφορά αντί για οδηγό, και μετρήστε τα πεδία στη δική σας γραμμή. Μια καταχώριση με πέντε πεδία και μια έκτη λέξη πριν από την εντολή είναι crontab συστήματος· η ίδια γραμμή σε crontab χρήστη προσπαθεί να εκτελέσει αυτή τη λέξη ως πρόγραμμα.

Η ταυτότητα εκτέλεσης μεταφέρει το περιβάλλον μαζί της. Μια εργασία cron δεν κληρονομεί ξεκλείδωτη κλειδοθήκη, διαδραστική προτροπή κωδικού πρόσβασης ή τον κατάλογο εργασίας όπου δοκιμάσατε.

Περιμένετε την ετοιμότητα, όχι το ρολόι

Μια επιτυχημένη εκκίνηση δεν είναι λειτουργικό τούνελ. Ο πελάτης μπορεί ακόμη να επιλύει το τελικό του σημείο, να πιστοποιείται ή να εγκαθιστά διαδρομές όταν η εργασία τερματίζεται. Οποιαδήποτε εξαρτημένη εργασία πρέπει να περιμένει τον προστατευμένο πόρο που πραγματικά χρειάζεται, με περιορισμένο χρονικό όριο και καταγεγραμμένη αποτυχία, αντί για σταθερό αριθμό δευτερολέπτων. Αυτή η διάκριση χωρίζει ένα πρόγραμμα που συνήθως λειτουργεί από ένα που αποτυγχάνει σιωπηλά το πολυάσχολο πρωινό.

Αν απαιτείται διαδραστικό MFA εκείνη την ώρα, η εργασία μπορεί να ζητήσει την προσοχή ενός ανθρώπου αλλά δεν μπορεί να δώσει την απάντηση. Κρατήστε αυτή την περίπτωση ρητή αντί να ενσωματώσετε επαναχρησιμοποιήσιμο κωδικό πρόσβασης ή να επαναπροσπαθείτε για πάντα.

Για μια πραγματικά μεμονωμένη ενεργοποίηση, χρησιμοποιήστε τον υποστηριζόμενο μηχανισμό μίας φοράς. Ένας επαναλαμβανόμενος κανόνας που πρέπει να θυμάστε και να αφαιρέσετε είναι μια μελλοντική διπλή εκκίνηση.

Σχετικά άρθρα