Cron & crontab, εξήγησε

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

Τι είναι το cron;

Το όνομα cron προέρχεται από τα ελληνικά χρονικά που σημαίνει "χρόνος". Στο λειτουργικό σύστημα Unix, το cron είναι ένας κανονικός διαχειριστής διεργασιών παρασκηνίου (δαίμονας) που εκτελεί διεργασίες ή σενάρια σε τακτά χρονικά διαστήματα (για παράδειγμα, κάθε λεπτό, ημέρα, εβδομάδα ή μήνα). Οι διαδικασίες που πρέπει να εκτελεστούν και ο χρόνος κατά τον οποίο πρέπει να εκτελεστούν καθορίζονται στο αρχείο crontab.

έργα Κόμο

Ο δαίμονας cron ξεκινά από /etc/rc.d/ o / Etc / init.d ανάλογα με την κατανομή. Το Cron εκτελείται στο παρασκήνιο, ελέγχει τον πίνακα εργασιών crontab κάθε λεπτό / etc / crontab ή / var / spool / cron σε αναζήτηση εργασιών που πρέπει να επιτευχθούν. Ως χρήστης μπορούμε να προσθέσουμε εντολές ή σενάρια με εργασίες στο cron για να αυτοματοποιήσουμε ορισμένες διαδικασίες. Αυτό είναι χρήσιμο, για παράδειγμα, για την αυτοματοποίηση της ενημέρωσης ενός συστήματος ή ενός καλού συστήματος δημιουργίας αντιγράφων ασφαλείας.

σχετικό άρθρο:
Εκμάθηση: Εγκατάσταση πακέτων .tar.gz και .tar.bz2

Τι είναι το Crontab;

Το Crontab είναι ένα απλό αρχείο κειμένου που αποθηκεύει μια λίστα εντολών που πρέπει να εκτελεστούν σε μια στιγμή που καθορίζεται από τον χρήστη. Το Crontab θα ελέγξει την ημερομηνία και την ώρα που θα εκτελεστεί το σενάριο ή η εντολή, τα δικαιώματα εκτέλεσης και θα το κάνει στο παρασκήνιο. Κάθε χρήστης μπορεί να έχει το δικό του αρχείο crontab, στην πραγματικότητα το / etc / crontab θεωρείται ότι είναι το αρχείο crontab του root χρήστη, όταν οι κανονικοί χρήστες (και ακόμη και οι root) θέλουν να δημιουργήσουν το δικό τους αρχείο crontab, τότε θα χρησιμοποιήσουμε την εντολή crontab.

Το Crontab είναι ο ευκολότερος τρόπος διαχείρισης εργασιών cron σε συστήματα πολλαπλών χρηστών, είτε ως απλός χρήστης του συστήματος είτε ως χρήστης root.

Χρησιμοποιώντας crontab

Ξεκινάμε με ένα απλό παράδειγμα.

Θα αυτοματοποιήσουμε την ενημέρωση ενός συστήματος, για να εξαλείψουμε το ενοχλητικό του "Πάντα πρέπει να ενημερώνω και δεν μου αρέσει αυτό!"

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

Πρώτα απ 'όλα θα φτιάξουμε ένα σενάριο. Αυτό το σενάριο θα καλείται από το cron και θα περιέχει όλες τις οδηγίες που θέλουμε να κάνει, επομένως είναι απαραίτητο να το δοκιμάσετε σε αρκετές περιπτώσεις και με διάφορους τρόπους προτού το συμπεριλάβετε στο cron, ένα απλό σενάριο ενημέρωσης όπως αυτό:

#! / bin / bash #script update παράδειγμα #επιλέξτε τη διανομή σας # debian-ubuntu # apt-get update & apt-get -y upgrade #fedora #yum -y update #Arch #pacman --noconfirm -Syu

Αφαιρέστε το # από ​​τη γραμμή διανομής σας. Σε περίπτωση που είναι Ubuntu / Debian, ξεκινά με apt-get.

Αποθηκεύουμε το σενάριο ως update.sh (π.χ. κατάλογος σεναρίων στο σπίτι σας). Αλλάζουμε τα δικαιώματα εκτέλεσης του εν λόγω σεναρίου με:

chmod a + x ~ / scripts / update.sh

Εκτελούμε το σενάριο μερικές φορές για να επαληθεύσουμε ότι όλα λειτουργούν ομαλά, τροποποιούμε ό, τι είναι απαραίτητο (δεν πρέπει να περιέχει σφάλματα, διαφορετικά το cron θα επαναλάβει μόνο ένα σφάλμα ξανά και ξανά). Τώρα για να προσθέσετε την εργασία στο crontab μας.

Προσθέστε εργασίες στο crontab

Εκτελούμε την έκδοση του crontab με crontab -e, σε μερικές διανομές (όπως το Ubuntu) μας δίνει την επιλογή να επιλέξουμε τον επεξεργαστή κειμένου που θέλουμε, το υπόλοιπο που μένει με το vi. Το αρχείο crontab θα μοιάζει με αυτό.

# mh dom mon dow εντολή χρήστη

όπου:

  • m αντιστοιχεί στο λεπτό που θα εκτελεστεί το σενάριο, η τιμή κυμαίνεται από 0 έως 59
  • h την ακριβή ώρα, χειρίζεται τη μορφή 24 ωρών, οι τιμές κυμαίνονται από 0 έως 23, με το 0 να είναι 12:00 τα μεσάνυχτα.
  • δώρο αναφέρεται στην ημέρα του μήνα, για παράδειγμα μπορείτε να καθορίσετε 15 εάν θέλετε να εκτελείτε κάθε 15 ημέρες
  • dow σημαίνει την ημέρα της εβδομάδας, μπορεί να είναι αριθμητική (0 έως 7, όπου τα 0 και 7 είναι Κυριακή) ή τα 3 πρώτα γράμματα της ημέρας στα Αγγλικά: mon, tue, wed, thu, fri, sat, sun.
  • χρήστη ορίζει τον χρήστη που θα εκτελέσει την εντολή, μπορεί να είναι root ή διαφορετικός χρήστης, εφόσον έχει δικαιώματα εκτέλεσης του σεναρίου.
  • εντολή αναφέρεται στην εντολή ή στην απόλυτη διαδρομή του σεναρίου προς εκτέλεση, για παράδειγμα: /home/usuario/scripts/update.sh, εάν καλεί ένα σενάριο πρέπει να είναι εκτελέσιμο

Για να είναι σαφή μερικά παραδείγματα εργασιών cron εξήγησαν:

15 10 * * * χρήστης /home/user/scripts/update.sh

Θα εκτελεί το σενάριο update.sh στις 10:15 π.μ. κάθε μέρα

15 22 * * * χρήστης /home/user/scripts/update.sh

Θα εκτελεί το σενάριο update.sh στις 10:15 μ.μ. κάθε μέρα

00 10 * * 0 root apt-get -y ενημέρωση Root user

Θα εκτελεί μια ενημέρωση κάθε Κυριακή στις 10:00 π.μ.

45 10 * * sun root apt-get -y ενημέρωση

Ο χρήστης Root θα εκτελεί μια ενημέρωση κάθε Κυριακή (Κυρ) στις 10:45 π.μ.

30 7 20 11 * χρήστης /home/usuario/scripts/update.sh

Στις 20 Νοεμβρίου στις 7:30 ο χρήστης θα εκτελέσει το σενάριο

30 7 11 11 sun user /home/usuario/scripts/pastel_con_velitas.sh

Στις 11 Νοεμβρίου στις 7:30 π.μ. και την Κυριακή, ο χρήστης θα γιορτάσει το sysadmin του (δηλαδή εγώ)

01 * * * * χρήστης /home/usuario/scripts/molestorecordatorio.sh

Μια ενοχλητική υπενθύμιση κάθε λεπτό κάθε ώρα κάθε μέρα (ΔΕΝ συνιστάται).

Μπορούν ακόμα να αντιμετωπιστούν ειδικές σειρές:

30 17 * * 1,2,3,4,5

Στις 5:30 το απόγευμα κάθε μέρα από Δευτέρα έως Παρασκευή.

00 12 1,15,28 * *

Στις 12 το μεσημέρι την πρώτη, δέκατη πέμπτη και 28η κάθε μήνα (ιδανικό για μισθοδοσία)

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

@reboot Εκτελέστε μία φορά, κατά την εκκίνηση
Το @yearly τρέχει μόνο μία φορά το χρόνο: 0 0 1 1 *
@ σε ετήσια βάση με το @yearly
Το @monthly εκτελείται μία φορά το μήνα, την πρώτη ημέρα: 0 0 1 * *
@ Εβδομαδιαία Εβδομαδιαία το πρώτο λεπτό της πρώτης ώρας της εβδομάδας. 0 0 * * 0 ″.
@ καθημερινά καθημερινά, στις 12:00 π.μ. 0 0 * * *
@ μεσάνυχτα ίδιο με @daily
@hourly στο πρώτο λεπτό κάθε ώρας: 0 * * * *

Η χρήση του είναι πολύ απλή.

@hourly user /home/user/scripts/molestorecordatorio.sh @monthly user /home/user/scripts/backup.sh @ καθημερινή root apt-get ενημέρωση && apt-get -y αναβάθμιση

Τελευταίο αλλά εξίσου σημαντικό:

Διαχείριση εργασίας Cron

αρχείο crontab

Αντικαταστήστε το υπάρχον αρχείο crontab με ένα αρχείο που καθορίζεται από το χρήστη

crontab -e

Επεξεργαστείτε το αρχείο crontab του χρήστη, κάθε νέα γραμμή θα είναι μια νέα εργασία crontab.

crontab -l

Λίστα όλων των εργασιών crontab του χρήστη

crontab -δ

Διαγράψτε το crontab του χρήστη

crontab -c σκην

Ορίζει τον κατάλογο crontab του χρήστη (αυτός πρέπει να έχει δικαιώματα εγγραφής και εκτέλεσης του χρήστη)

χρήστης crontab -u

πρόθεμα για χειρισμό crontab άλλου χρήστη, παραδείγματα:

$ sudo crontab -l -u root $ sudo crontab -e user2 #crontab -d -u χρήστης

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

Ευχαριστώ Lucain!

48 σχόλια, αφήστε τα δικά σας

Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.

  1.   Εικόνα κράτησης θέσης Alvaro Ortiz dijo

    Αχ ... λίγο συγκεχυμένο.

  2.   τόνικ dijo

    * * / 30 λείπει (στο πεδίο λεπτών) που εκτελείται κάθε 30 λεπτά ...

    1.    erm3nda dijo

      Απλώς επρόκειτο να σχολιάσω μέχρι που αποφάσισα να επανεξετάσω τα σχόλια 😀
      Αυτός ο τροποποιητής είναι μια πολύ σημαντική πληροφορία και κάτι πολύ χρήσιμο.

      1.    ΚΙΚΑ dijo

        Γεια σας!
        Αυτήν τη στιγμή δοκιμάζω μια διαμόρφωση κάθε 45 λεπτά.

        * / 45 * * * * και η εντολή εκτελείται στα 45 λεπτά κάθε ώρας ΚΑΙ κάθε ώρας. Δηλαδή:

        Λειτουργεί στις 3:45, στη συνέχεια στις 4:00, 4:45 και στη συνέχεια στις 5:00, 5:45, 6:00, 6:45 και ούτω καθεξής.

        Έχω κάτι λάθος; Τι μπορώ να κάνω ώστε να είναι μόνο κάθε 45 λεπτά ή τουλάχιστον μία φορά στα 45 λεπτά κάθε ώρα.

    2.    ΚΙΚΑ dijo

      Γεια σας!
      Αυτήν τη στιγμή δοκιμάζω μια διαμόρφωση κάθε 45 λεπτά.

      * / 45 * * * * και η εντολή εκτελείται στα 45 λεπτά κάθε ώρας ΚΑΙ κάθε ώρας. Δηλαδή:

      Λειτουργεί στις 3:45, στη συνέχεια στις 4:00, 4:45 και στη συνέχεια στις 5:00, 5:45, 6:00, 6:45 και ούτω καθεξής.

      Έχω κάτι λάθος; Τι μπορώ να κάνω ώστε να είναι μόνο κάθε 45 λεπτά ή τουλάχιστον μία φορά στα 45 λεπτά κάθε ώρα.

  3.   Χαλαρότητα dijo

    Γεια σας εξαιρετικά χρήσιμες οι πληροφορίες για να διευκρινίσετε πώς λειτουργεί το cron.
    Bytes

  4.   Χαλαρότητα dijo

    Για *

  5.   Κυνηγός dijo

    Εξαιρετικά, ευχαριστώ που διευκρινίσατε πώς λειτουργεί ο cron .. ας βάλουμε λίγο χέρι 🙂

  6.   Ιάκωβος dijo

    Αυτή η γραμμή, όπως καταλαβαίνω, θα εκτελεστεί στις 10:15 μ.μ.
    Λοιπόν λέει 10:15 π.μ.
    15 22 * * * χρήστης /home/user/scripts/update.sh

  7.   Agustin dijo

    Γειά σου! πολύ καλές πληροφορίες.
    Για την εκτέλεση ενός σεναρίου κάθε μισή ώρα, η γραμμή που πρέπει να προστεθεί στο CronTab θα ήταν: "30 * * * * root Scrip.sh" Σωστό; Σε ευχαριστώ πάρα πολύ!

  8.   ας χρησιμοποιήσουμε το linux dijo

    Όχι. Αν θυμάμαι σωστά, για αυτό πρέπει να βάλετε / 30 * * * * root Scrip.sh.
    Δηλαδή, προσθέστε το / πριν από τις 30.
    Στην υγειά σας! Παύλος.

  9.   Τζόναθαν dijo

    Γεια σας, μου άρεσε η ανάρτησή σας, είναι πολύ πλήρης, αλλά ήθελα να σας ρωτήσω κάτι.
    Αντιμετωπίζω προβλήματα με αυτήν την εντολή και όπως "στο".

    Θέλω να τρέξω ένα σενάριο σε μια συγκεκριμένη ώρα και να το βάλω

    στο παράδειγμα -f /home/mi_user/Desk/script.sh 18:08

    και το σενάριο δεν εκτελείται στην οθόνη, δηλαδή, στο τερματικό, εκτελείται στο παρασκήνιο;

    Και με το cron το ίδιο συμβαίνει και για μένα, επεξεργάζομαι το αρχείο crontab με το "crontab -e"

    στο τέλος προσθέτω αυτήν τη γραμμή:

    46 19 my_user /home/mi_user/Desk/script.sh

    και δεν κάνει τίποτα, δεν δείχνει το σενάριο.

    Καμία πρόταση? Σας ευχαριστώ πολύ και ζητήστε συγγνώμη για την αναστάτωση

    1.    ας χρησιμοποιήσουμε το linux dijo

      Για να εμφανιστεί το τερματικό, ίσως χρειαστεί να εκτελέσετε το τερματικό και να περάσετε το σενάριο ως παράμετρο.

      Για παράδειγμα:

      lxterminal -e "my_user /home/mi_user/Desktop/script.sh"

      Η παράμετρος που χρησιμοποιείται ενδέχεται να διαφέρει ανάλογα με τον εξομοιωτή τερματικού που χρησιμοποιείτε.

      Ελπίζω να δουλεύει.

      Αγκαλιάζω! Παύλος.

  10.   πατρέκας dijo

    Η συνεισφορά εκτιμάται.

    10 πόντοι !!

    γεια σου 2!!

  11.   Rodolfo dijo

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

  12.   τζαχίρ dijo

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

  13.   Τζωβάνι dijo

    Χρησιμοποίησα το Ubuntu Server 12.04.2 LTS, και την έκδοση του crontab που έχω, για να διαγράψω τη λίστα των εργασιών του χρήστη, crontab -r (και -l, όπως λέει αυτό το εγχειρίδιο). Σίγουρα είναι ζήτημα εκδόσεων.

    Από την άλλη πλευρά, κάποτε έτρεξα μόνο crontab και αυτό το είδος μου άφησε να δημιουργήσω το δικό μου αρχείο εκτέλεσης, αλλά αυτό δεν ήταν αυτό που εκτελείται. Αυτό που τρέχει είναι αυτό στο / etc / crontab. ίσως κάποιος θα χρησιμοποιήσει το σχόλιο.

    PS (Έψαξα με εντοπισμός και πού είναι crontab, αλλά επέστρεψε μόνο την προαναφερθείσα διεύθυνση και ένα άλλο αρχείο που είναι κρυπτογραφημένο, οπότε αν αυτό που εκτελέστηκε ήταν αυτό στο / etc / crontab, αλλά κατά την εκτέλεση της εντολής με όλες τις εργασίες που είχα ορίσει) πού ήταν αποθηκευμένο αυτό το αρχείο "???? Χαιρετισμοί. Συνδέομαι πάντα με root.

  14.   Sebastian dijo

    Εξαιρετικό, πολύ χρήσιμο !!!

  15.   μμμ dijo

    Γεια σας, θα ήθελα να το κάνω αυτό ………… «15 10 * * * root ifdown eth0»

    δηλαδή, σε μια συγκεκριμένη στιγμή η κάρτα δικτύου απενεργοποιείται ………… καλά, την έβαλα στο crontab και δεν λειτούργησε …… .. τι συμβαίνει;

    Y gracias Saludos

  16.   Miguel dijo

    Χάσατε τον ορισμό του "mon" μετά τον τίτλο "Προσθήκη εργασιών στο crontab"

    Το άρθρο είναι ακόμα ωραίο, το cron είναι εξαιρετικά χρήσιμο.

  17.   Όσκαρ dijo

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

    είναι decdir Θέλω να δω το ιστορικό των ενεργειών που έγιναν στο παρελθόν αυτού του αρχείου και θέλω να δω ποιος το έχει τροποποιήσει και την ημερομηνία

    gracias

  18.   oscar dijo

    Θέλω να ελέγξω το ιστορικό τροποποιήσεων αυτού

    πώς μπορώ να το κάνω

    gracias

  19.   Andres Ledo dijo

    Καλημέρα,

    Νομίζω ότι στο σενάριο του Ubuntu έχετε κάνει λάθος, έχετε θέσει την αναβάθμιση ap-get -y αντί της αναβάθμισης apt-get -y. (Έχετε αφήσει ένα t).

    Ένα χαιρετισμό.

    1.    ας χρησιμοποιήσουμε το linux dijo

      Έτσι είναι. Ευχαριστώ!
      Αγκαλιάζω! Παύλος

  20.   Γαβριήλ dijo

    Θέλω να μάθω πώς να δημιουργήσω ένα αρχείο cron για να μπορέσω να καθορίσω την ώρα κάθε εκτέλεσης, τον κατάλογο κ.λπ.

  21.   Valentin dijo

    Ευχαριστούμε που αποσαφηνίσατε τη λειτουργία και τις βασικές εντολές για το cron, τώρα για να διασκεδάσετε λίγο.

  22.   Sander dijo

    Κάθε φορά που ψάχνω πληροφορίες για οποιοδήποτε θέμα που σχετίζεται με το Gnu / Linux πηγαίνω στρογγυλά στο τέλος βρίσκοντας πάντα στο 90% των περιπτώσεων το καλύτερο σεμινάριο σε αυτήν την υπέροχη κοινότητα, νομίζω ότι από τώρα και στο εξής θα ξεκινήσω εδώ και έπειτα αλλού.

    αφορά

    1.    ας χρησιμοποιήσουμε το linux dijo

      Ευχαριστώ Sander! Μια αγκαλιά! Παύλος.

  23.   Ντάρυο dijo

    dom = ημέρα του μήνα
    dow = ημέρα της εβδομάδας
    είναι ευκολότερο εάν συνεργαστείτε

  24.   Pascual dijo

    Ευχαριστώ πολύ, πολύ πλήρης και καλά εξηγημένη.

  25.   Μαξίλια dijo

    Αυτό είναι το ίδιο πράγμα που μας έδωσε ο δάσκαλος των Λειτουργικών Συστημάτων, δεν αλλάζω τίποτα, τώρα βλέπω γιατί η τάξη είναι τόσο κακή. - Λοιπόν, αυτό είναι το ίδιο με την εργασία xD

  26.   Μαρσέλο dijo

    Εκτιμάται,

    Ερώτημα, μπορεί να περιοριστεί η διάρκεια μιας εργασίας;
    Για παράδειγμα, έχω μια εργασία που επαναλαμβάνεται κάθε 5 λεπτά, στην επανάληψη εάν αυτή η εργασία είναι ακόμα ενεργή, σκοτώστε την και εκτελέστε ξανά.

    Σας ευχαριστούμε,
    Μαρσέλο.-

    1.    ας χρησιμοποιήσουμε το linux dijo

      Γεια σας, Μαρσέλο!

      Νομίζω ότι θα ήταν καλύτερο να θέσετε αυτό το ερώτημα στην υπηρεσία ερωτήσεων και απαντήσεων που ονομάζεται Ask DesdeLinux έτσι ώστε ολόκληρη η κοινότητα να μπορεί να σας βοηθήσει με το πρόβλημά σας.

      Μια αγκαλιά, Πάμπλο.

  27.   aj dijo

    καλή θέση.
    Ποια είναι η εντολή ανά τερματικό να προσθέσετε εργασίες στο crontab (χωρίς να εισάγετε το crontab και να τα προσθέσετε χειροκίνητα με το "crontab -e" ή να αντικαταστήσετε το crontab με ένα άλλο crontab με το "crontab file").
    Η ιδέα είναι να δημιουργήσετε ένα εξωτερικό σενάριο για να προσθέσετε τις εργασίες στο crontab
    Ευχαριστίες

    1.    Δαβίδ dijo

      μου φαίνεται ότι θα μπορούσατε να χρησιμοποιήσετε το "echo" ό, τι θέλετε να προσθέσετε "| cat >> «διαδρομή cronotab (/ etc / cronotab)» «

  28.   Ραφαέλ Βέρα dijo

    Πώς θα εκτελείται μια έκφραση κάθε 3 ημέρες ακριβώς

  29.   José Antonio dijo

    Γεια σου.

    Έχω πρόβλημα κατά την εκτέλεση μιας εργασίας cron.

    Εκτελώ την ακόλουθη εργασία με το cronta -e:

    01 * * * * root /home/user/script/mfile.sh

    αλλά η εργασία δεν έχει ολοκληρωθεί. Έχω ελέγξει ότι το myfile.sh έχει άδεια εκτέλεσης και ότι ο χρήστης που το εκτελεί είναι root.

    Εκτελώ την ίδια εργασία στο / etc / crontab και μετά την επανεκκίνηση της υπηρεσίας, δεν λειτουργεί ούτε για μένα.
    Το περιεχόμενο του myfile.sh είναι μια εντολή που ενημερώνει ένα DB και αν το εκτελέσω στην κονσόλα λειτουργεί.
    οποιαδήποτε ιδέα ποιο είναι το πρόβλημα;

    1.    Φρεντ dijo

      Ο χρήστης της βάσης δεδομένων ενδέχεται να μην έχει όλα τα δικαιώματα και θα πρέπει πρώτα να εξαγάγετε τις μεταβλητές περιβάλλοντος από τη μηχανή βάσης δεδομένων σας.
      Για παράδειγμα στο db2 αυτή η γραμμή θα πήγαινε στην αρχή του σεναρίου
      . / σπίτι / db2inst1 / sqllib / db2profile

      Μια άλλη αιτία θα μπορούσε να είναι ότι το σενάριο απαιτεί σύνδεση με τη βάση δεδομένων, να κάνει τη σύνδεση με τη βάση δεδομένων μέσα στο σενάριο

  30.   LA3 dijo

    Δεν ήξερα ότι έπρεπε να επανεκκινήσω το crond, αγωνίζομαι με αυτό για λίγο

  31.   Κένυα dijo

    Θα ξέρουν πώς να υποδεικνύουν ότι η εργασία εκτελείται κάθε τέλος του μήνα, την ώρα που υποδεικνύεται .. η λεπτομέρεια είναι ότι δεν μπορώ να επιτύχω όπως ξέρω ότι χρειάζεται η τελευταία ημέρα κάθε μήνα .. ??? Έπρεπε να τα γράψω ένα προς ένα, αλλά όταν έρθει το τέλος του Φεβρουαρίου ότι είναι πιο πολύπλοκο ...

  32.   Ιησούς dijo

    καλή μέρα!!

    Πώς μπορώ να σταματήσω τη διαδικασία που εκτελείται στο crontab;

  33.   Ιησούς dijo

    επεξεργάζομαι, διαδικασία * …………

  34.   Julianna dijo

    Μήπως μπορείς να με βοηθήσεις; Σενάριο eu tenho um από τον minha που γράφτηκε που δεν λειτουργεί χωρίς crontab! jб dei όλα τα επιτρεπόμενα, κανένα ιδιωτικό cron ή χρήστη που μπορεί να το εκτελέσει - δεν συμβαίνει τίποτα! Θα ήθελα να μάθω αν μπορείτε να με βοηθήσετε, κάποια άλλα πράγματα δεν λειτουργούν! Vlws

  35.   Αντόξ dijo

    Πώς θα θέλατε να εκτελέσετε μια εργασία κάθε τελευταία ημέρα του μήνα (ημέρες: 31-30-28);

  36.   tfercho dijo

    Όπως γνωρίζετε, η εντολή su χρησιμοποιείται για την αλλαγή χρήστη σε μια κονσόλα. Εάν χρησιμοποιώ την εντολή su έτσι: "ο χρήστης" αλλάξτε τον χρήστη αλλά χωρίς τις κατάλληλες ρυθμίσεις του "χρήστη", εάν τρέχω su ως: "su - user" αλλάξτε τον χρήστη φορτώνοντας τις ρυθμίσεις χρήστη. Με το cron δηλώνω τον χρήστη, αλλά πώς μπορώ να φορτώσω τις ρυθμίσεις αυτού του χρήστη;

  37.   Ληστεύω dijo

    Και αν θέλω να το σταματήσω;

  38.   Ρέγκι dijo

    Γεια σας,
    Δεν ξέρω τι κάνω λάθος, αλλά ακολουθώ τα βήματα και τίποτα δεν εκτελείται. Εχω προσπαθήσει:
    59 * * * * / usr / bin / gedit
    * * * * * / usr / bin / gedit
    * * * * * root / usr / bin / gedit
    * * * * * usr / bin / test.sh
    * * * * * root usr / bin / test.sh

    και τίποτα καθόλου. Δεν εκτελεί τίποτα. Έχω επανεκκινήσει και τα πάντα.

  39.   Φέρκος dijo

    ευχαριστώ πολύ