Εγχειρίδια για τη γραμμή εντολών

Man » crontab Manual online - λεπτομερής διαδικτυακή τεκμηρίωση για τη σελίδα man του crontab

🌍
crontab - διαχείριση των αρχείων crontab για μεμονωμένους χρήστες (Vixie Cron)

ΣΥΝΟΨΗ

crontab [-h]

crontab [-u user] [-n] file

crontab [-u user] [-i] {-e | -l | -r}

ΠΕΡΙΓΡΑΦΗ

Το crontab είναι το πρόγραμμα που χρησιμοποιείται για την εγκατάσταση, απεγκατάσταση ή την εμφάνιση των πινάκων που χρησιμοποιούνται για την εκτέλεση του daemon cron(8) στο Vixie Cron. Κάθε χρήστης μπορεί να έχει το δικό του αρχείο crontab, και παρόλο που αυτά είναι αρχεία στο /var/spool/cron/crontabs, δεν προορίζονται για απευθείας επεξεργασία.

Εάν το αρχείο /etc/cron.allow υπάρχει, τότε πρέπει να είστε καταχωρημένοι (ένας χρήστης ανά γραμμή) σε αυτό για να μπορέσετε να χρησιμοποιήσετε αυτήν την εντολή. Εάν το αρχείο /etc/cron.allow δεν υπάρχει, αλλά το αρχείο /etc/cron.deny υπάρχει, τότε δεν πρέπει να είστε καταχωρημένοι στο αρχείο /etc/cron.deny για να μπορέσετε να χρησιμοποιήσετε αυτήν την εντολή.

Παρακαλούμε ελέγξτε ότι τα δικαιώματα του αρχείου /etc/cron.allow το καθιστούν αναγνώσιμο από τους χρήστες που επιτρέπεται να το χρησιμοποιούν. Για παράδειγμα, τα δικαιώματα rw- r-- r-- (οκταδικό 644) θα πρέπει να είναι εντάξει.

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

Εάν και τα δύο αρχεία υπάρχουν, τότε το /etc/cron.allow έχει προτεραιότητα. Αυτό σημαίνει ότι το /etc/cron.deny δεν λαμβάνεται υπόψη και ο χρήστης σας πρέπει να είναι καταχωρημένος στο /etc/cron.allow για να μπορέσει να χρησιμοποιήσει το crontab.

Ανεξάρτητα από την ύπαρξη οποιουδήποτε από αυτά τα αρχεία, ο διαχειριστικός χρήστης root επιτρέπεται πάντα να διαμορφώσει ένα crontab. Για τα τυπικά συστήματα Debian, όλοι οι χρήστες μπορούν να χρησιμοποιούν αυτήν την εντολή.

Εάν δοθεί η επιλογή -h, το crontab εμφανίζει ένα μήνυμα βοήθειας και τερματίζεται αμέσως.

Εάν δοθεί η επιλογή -u, καθορίζει το όνομα του χρήστη του οποίου το crontab θα χρησιμοποιηθεί (κατά την εμφάνιση) ή θα τροποποιηθεί (κατά την επεξεργασία). Εάν αυτή η επιλογή δεν δοθεί, το crontab εξετάζει το "δικό σας" αρχείο crontab, δηλαδή το αρχείο crontab του ατόμου που εκτελεί την εντολή. Σημειώστε ότι το su(8) μπορεί να προκαλέσει σύγχυση στο crontab και ότι εάν εκτελείτε μέσα στο su(8), θα πρέπει πάντα να χρησιμοποιείτε την επιλογή -u για λόγους ασφαλείας.

Η πρώτη μορφή αυτής της εντολής χρησιμοποιείται για την εγκατάσταση ενός νέου crontab από ένα συγκεκριμένο αρχείο ή από την τυπική είσοδο εάν δοθεί το ψευδώνυμο αρχείο "-".

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

Η επιλογή -l προκαλεί την εμφάνιση του τρέχοντος crontab στην τυπική έξοδο. Δείτε την σημείωση στην ενότητα με τίτλο "ΕΙΔΙΚΑ ΓΙΑ ΤΟ DEBIAN" παρακάτω.

Η επιλογή -r προκαλεί την αφαίρεση του τρέχοντος crontab.

Η επιλογή -e χρησιμοποιείται για την επεξεργασία του τρέχοντος crontab χρησιμοποιώντας το sensible-editor(1). Αφού εξέλθετε από τον επεξεργαστή, το τροποποιημένο crontab θα εγκατασταθεί αυτόματα.


Η επιλογή -i τροποποιεί την επιλογή -r, ώστε να ζητά από τον χρήστη μια απάντηση 'y/Y' πριν αφαιρέσει το crontab.

ΙΔΙΑΙΤΕΡΟΤΗΤΕΣ ΓΙΑ DEBIAN

Η προεπιλεγμένη συμπεριφορά του crontab -l είναι να εμφανίζει την τριγραμμη κεφαλίδα "ΜΗΝ ΕΠΕΞΕΡΓΑΣΤΕΙΤΕ ΑΥΤΟ ΤΟ ΑΡΧΕΙΟ", η οποία τοποθετείται στην αρχή του crontab κατά την εγκατάσταση. Το πρόβλημα είναι ότι καθιστά την ακολουθία

crontab -l | crontab

μη ιδεμπότεντη — προσθέτει συνεχώς αντίγραφα της κεφαλίδας. Αυτό προκαλεί προβλήματα σε σενάρια που χρησιμοποιούν το sed για την επεξεργασία ενός crontab. Επομένως, η προεπιλεγμένη συμπεριφορά της επιλογής -l έχει αλλάξει ώστε να μην εμφανίζει αυτήν την κεφαλίδα. Μπορείτε να λάβετε την αρχική συμπεριφορά ορίζοντας τη μεταβλητή περιβάλλοντος CRONTAB_NOHEADER σε 'N', η οποία θα προκαλέσει την εμφάνιση της περιττής κεφαλίδας από την εντολή crontab -l.

ΕΠΙΣΗΜΑΝΣΗ ΤΗΣ ΕΞΑΓΩΓΗΣ ΤΗΣ ΕΝΤΟΛΗΣ CRONTAB -L

Η εντολή crontab -l εξάγει απλό κείμενο. Όταν ένα tty μπορεί να υποστηρίξει ακολουθίες ANSI για να χρωματίσει αυτό το κείμενο, μπορείτε να επισημάνετε την έξοδο, καλώντας: crontab -l | spc -t crontab όταν το φόντο του tty είναι σκούρο, ή crontab -l | spc -t crontab-light όταν αυτό το φόντο είναι ανοιχτό.

Το σχήμα επισήμανσης μπορεί να τροποποιηθεί χρησιμοποιώντας προσαρμοσμένες εκδόσεις των αρχείων /etc/supercat/spcrc-crontab*.

Μπορείτε επίσης να χρωματίσετε αυτό το κείμενο με το πρόγραμμα batcat(1) που παρέχεται από το πακέτο bat, εδώ είναι ένα παράδειγμα:

crontab -l | batcat --language Crontab

ΔΕΣ ΕΠΙΣΗΣ

^ rontab(5), cron(8), spc(1)

ΑΡΧΕΙΑ

^ etc/cron.allow, /etc/cron.deny Τα αρχεία /etc/cron.allow και /etc/cron.deny, εάν υπάρχουν, πρέπει να είναι είτε αναγνώσιμα από όλους, είτε αναγνώσιμα από την ομάδα crontab. Εάν δεν είναι, τότε το cron(8) θα αρνηθεί την πρόσβαση σε όλους τους χρήστες μέχρι να διορθωθούν οι άδειες.

^ var/spool/cron/crontabs Υπάρχει ένα αρχείο για το crontab κάθε χρήστη κάτω από τον κατάλογο /var/spool/cron/crontabs. Οι χρήστες δεν επιτρέπεται να επεξεργάζονται απευθείας τα αρχεία σε αυτόν τον κατάλογο, για να διασφαλιστεί ότι μόνο οι χρήστες που επιτρέπονται από το σύστημα να εκτελούν περιοδικές εργασίες μπορούν να τις προσθέσουν, και μόνο τα συντακτικά σωστά crontabs θα εγγραφούν εκεί. Αυτό επιβάλλεται με το να είναι ο κατάλογος εγγράψιμος μόνο από την ομάδα crontab και με τη διαμόρφωση της εντολής crontab με την ενεργοποιημένη τη σημαία setgid για αυτήν τη συγκεκριμένη ομάδα.

ΠΡΟΤΥΠΑ

Η εντολή crontab συμμορφώνεται με το IEEE Std1003.2-1992 ("POSIX"). Αυτή η νέα σύνταξη εντολών διαφέρει από τις προηγούμενες εκδόσεις του Vixie Cron, καθώς και από την κλασική σύνταξη SVR3.

ΔΙΑΓΝΩΣΤΙΚΑ

Ένα αρκετά κατατοπιστικό μήνυμα χρήσης εμφανίζεται εάν εκτελέσετε την εντολή με μια εσφαλμένη γραμμή εντολών.

Το cron(8) απαιτεί κάθε καταχώρηση σε ένα crontab να τελειώνει με έναν χαρακτήρα νέας γραμμής. Εάν η τελευταία καταχώρηση σε ένα crontab λείπει ο χαρακτήρας νέας γραμμής, το cron(8) θα θεωρήσει το crontab (τουλάχιστον εν μέρει) ελαττωματικό και θα αρνηθεί να το εγκαταστήσει.

Τα αρχεία κάτω από το /var/spool/cron/crontabs ονομάζονται με βάση το όνομα του λογαριασμού του χρήστη. Οι εργασίες crontab δεν θα εκτελούνται για χρήστες των οποίων οι λογαριασμοί έχουν μετονομαστεί είτε λόγω αλλαγών στο τοπικό σύστημα είτε επειδή διαχειρίζονται μέσω μιας κεντρικής βάσης δεδομένων χρηστών (εξωτερική του συστήματος, για παράδειγμα ένας κατάλογος LDAP).


ΣΥΓΓΡΑΦΕΙΣ

Paul Vixie <_> Έγραψε αυτή τη σελίδα man (1994).

Steve Greenland <_> Διατήρησε το πακέτο (1996-2005).

Javier Fernández-Sanguino Peña <_> Διατήρησε το πακέτο (2005-2014).

Christian Kastner <_> Διατήρησε το πακέτο (2010-2016).

Georges Khaznadar <_> Διατήρησε το πακέτο (2022-2024).

ΠΝΕΥΜΑΤΙΚΑ ΔΙΚΑΙΩΜΑΤΑ

Copyright © 1994 Paul Vixie

Διανέμεται ελεύθερα, εκτός από: μην αφαιρείτε το όνομά μου από τον πηγαίο κώδικα ή την τεκμηρίωση (μην αποδίδετε την εργασία μου σε άλλους), σημειώστε τις αλλαγές σας (μην με ρίχνετε την ευθύνη για πιθανά σφάλματά σας), μην αλλάζετε ή αφαιρείτε αυτήν την ειδοποίηση. Μπορεί να πωληθεί εάν παρέχεται στον αγοραστή ο πηγαίος κώδικας που μπορεί να μεταγλωττιστεί. Δεν παρέχεται καμία εγγύηση, ρητή ή σιωπηρή, με αυτό το λογισμικό. Χρησιμοποιήστε το με δική σας ευθύνη. Η ευθύνη για τυχόν ζημίες που προκύπτουν από τη χρήση αυτού του λογισμικού βαρύνει αποκλειστικά τον χρήστη.

Από το 1994, έγιναν πολλές τροποποιήσεις σε αυτή τη σελίδα man, από τους προγραμματιστές του Debian, οι οποίοι διατηρούσαν το cron(TM). παραπάνω είναι μια σύντομη λίστα, περισσότερες πληροφορίες μπορούν να βρεθούν στο αρχείο /usr/share/doc/cron/copyright.