Πώς να εκτελείτε ένα πρόγραμμα περιοδικά χρησιμοποιώντας την εντολή Watch στο Linux

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

Χρησιμοποιώντας αυτήν την εντολή, μπορείτε να παρακολουθείτε τις δραστηριότητες του συστήματος σε πραγματικό χρόνο, όπως συνδέσεις χρηστών, κατάσταση δικτύου, χρήση μνήμης και CPU, χώρο στο δίσκο, κ.λπ. Ας δούμε πώς να χρησιμοποιήσετε την εντολή watch στο Linux.

Τι είναι η εντολή Watch;

Η εντολή watch Linux εκτελεί μια καθορισμένη εντολή ή ένα πρόγραμμα επανειλημμένα, σε τακτά χρονικά διαστήματα, και εμφανίζει την έξοδο του στο τερματικό. Αυτό σας επιτρέπει να παρατηρήσετε τις αλλαγές στην έξοδο σε πραγματικό χρόνο. Ανανεώνει την έξοδο σε κάθε διάστημα, αντικαθιστώντας την προηγούμενη έξοδο της εντολής. Από προεπιλογή, η εντολή επαναλαμβάνεται κάθε δύο δευτερόλεπτα και συνεχίζεται μέχρι να τη σταματήσετε χειροκίνητα χρησιμοποιώντας Ctrl + C.

  Πώς να αποκρύψετε αρχεία στο Linux και να τα ασφαλίσετε

Παρακολουθήστε το Command Syntax

Η σύνταξη της εντολής watch είναι:

 watch options <command> 

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

 watch ls -l ~/ 

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

Εκτελέστε μια εντολή κάθε X δευτερόλεπτα χρησιμοποιώντας το ρολόι

Μπορείτε να αλλάξετε το διάστημα ενημέρωσης της εντολής παρακολούθησης. Αυτό σημαίνει ότι μπορείτε να πείτε στην εντολή watch να περιμένει για x δευτερόλεπτα πριν επαναλάβει την εντολή. Για να αλλάξετε το διάστημα ενημέρωσης, χρησιμοποιήστε την επιλογή -n ακολουθούμενη από το χρονικό διάστημα σε δευτερόλεπτα.

 watch -n  

Για παράδειγμα, για να εκτελέσετε μια εντολή μετά από κάθε 5 δευτερόλεπτα, εκτελέστε:

 watch -n 5 <command> 

Επισημάνετε τις αλλαγές μεταξύ ενημερώσεων

Η εντολή ρολογιού αντικαθιστά την έξοδο της σε κάθε ανανέωση. Χρησιμοποιώντας την επιλογή -d, μπορείτε επίσης να επισημάνετε τις αλλαγές μεταξύ της προηγούμενης και της ενημερωμένης εξόδου.

 watch -d 

Απόκρυψη κεφαλίδας στην Έξοδο της Εντολής του ρολογιού

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

 watch -t <command> 

Παίξτε Beeps on Error

Όταν τελειώσει η εκτέλεση μιας διεργασίας Linux, επιστρέφει έναν κωδικό εξόδου. Κατά σύμβαση, η τιμή είναι 0 στην επιτυχία και μη μηδενική για να αντιπροσωπεύει ένα σφάλμα. Η επιλογή -b της εντολής παρακολούθησης αναπαράγει έναν ήχο μπιπ εάν η εντολή επιστρέψει μια μη μηδενική έξοδο.

  Πώς να εγκαταστήσετε το Ardor Audio Editor σε Linux

Ας υποθέσουμε ότι θέλετε να παρακολουθείτε το sshd.service και να λαμβάνετε ειδοποίηση όταν σταματήσει η υπηρεσία. θα χρησιμοποιούσατε:

 watch -b sudo systemctl status sshd.service 

Αυτή η εντολή θα δώσει ήχους μπιπ όταν σταματήσει η υπηρεσία. Το ηχητικό σήμα θα σταματήσει όταν συνεχιστεί η υπηρεσία. Για να το ελέγξετε, ανοίξτε ένα άλλο παράθυρο τερματικού και σταματήστε την υπηρεσία. Αυτό θα δίνει συνεχή ηχητικά σήματα μέχρι να ξεκινήσετε ξανά την υπηρεσία. Ωστόσο, για να χρησιμοποιήσετε αυτήν τη δυνατότητα, πρέπει να έχετε εγκατεστημένο το πακέτο ηχητικού σήματος στο σύστημά σας.

Έξοδος από το ρολόι Command on Output Change

Μπορείτε επίσης να πείτε στην εντολή ρολογιού να σταματήσει να εκτελείται και να βγει όταν αλλάξει η έξοδος της εντολής. Μπορείτε να το κάνετε αυτό χρησιμοποιώντας την επιλογή -g. Αυτή η επιλογή είναι πολύ χρήσιμη σε σενάρια όταν περιμένετε ορισμένες αλλαγές στην έξοδο.

  Πώς να παίξετε το Doom: Eternal στο Linux

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

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

 watch -g "ls -l | grep filename" && echo "file arrived" 

Ένα άλλο χρήσιμο παράδειγμα είναι μια ειδοποίηση όταν ένας συγκεκριμένος χρήστης συνδέεται στο σύστημά σας:

 watch -g "who | grep username" && echo "username logged in" 

Αυτή η εντολή θα παρακολουθεί την έξοδο της εντολής who που παραθέτει τους χρήστες που είναι συνδεδεμένοι. Μόλις συνδεθεί ο χρήστης, η εντολή watch θα σταματήσει και θα εμφανίσει ένα μήνυμα στο τερματικό.

Ομοίως, μπορείτε να πείτε στην εντολή watch να σταματήσει μια υπηρεσία όταν γίνονται κάποιες αλλαγές σε ένα αρχείο. Λάβετε υπόψη ότι όταν χρησιμοποιείτε μια σωλήνωση αλυσίδας εντολών, θα πρέπει να περικλείετε ολόκληρη την εντολή μέσα σε εισαγωγικά.

Παρακολουθήστε τις Δραστηριότητες στο σύστημά σας Linux

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

Μπορείτε επίσης να χρησιμοποιήσετε την εντολή παρακολούθησης με άλλες εντολές Linux για να παρακολουθείτε πόρους και δραστηριότητες συστήματος και να παρακολουθείτε αλλαγές σε αρχεία ή καταλόγους.