Contents

Cách chạy chương trình định kỳ bằng lệnh Watch trên Linux

Đôi khi, bạn cần chạy liên tục một lệnh hoặc chương trình để giám sát các khía cạnh khác nhau của hệ thống, như các tiến trình đang diễn ra, mức sử dụng dung lượng ổ đĩa hoặc thông tin đăng nhập của người dùng. Lệnh xem Linux cho phép bạn tự động hóa các tác vụ này mà không cần phải chạy đi chạy lại theo cách thủ công.

Việc sử dụng lệnh này cho phép quan sát liên tục các sự kiện hệ thống khác nhau bao gồm hoạt động đăng nhập của người dùng, điều kiện mạng, mức sử dụng bộ xử lý và bộ nhớ, dung lượng lưu trữ khả dụng, cùng nhiều sự kiện khác. Khám phá các bước cần thiết để sử dụng lệnh “xem” trong hệ điều hành Linux để có khả năng giám sát toàn diện.

Lệnh theo dõi là gì?

Lệnh “xem” trong Linux cho phép thực hiện định kỳ một lệnh hoặc chương trình được chỉ định, với đầu ra được hiển thị trong thiết bị đầu cuối. Điều này cho phép người ta giám sát mọi sửa đổi đối với đầu ra trong thời gian thực vì nó được cập nhật liên tục, thay thế đầu ra trước đó bằng mỗi lần lặp. Theo mặc định, lệnh sẽ thực thi hai giây một lần trừ khi được kết thúc bằng cách nhấn

Xem cú pháp lệnh

Cú pháp của lệnh xem là:

 watch options <command> 

Việc sử dụng lệnh “watch” cung cấp vô số lựa chọn về cấu hình thông qua các tham số dòng lệnh. Khi được thực thi mà không có bất kỳ thông số kỹ thuật nào, lệnh “watch” sẽ thực hiện thao tác được chỉ định cứ sau hai giây như một minh họa, màn hình tiếp theo sẽ hiển thị kết quả do lệnh “ls” đưa ra:

 watch ls -l ~/ 

Màn hình trình bày sẽ hiển thị các sửa đổi đối với danh sách thư mục trong trường hợp tạo, xóa hoặc thay đổi kích thước của tệp, bằng cách cập nhật hình ảnh trực quan trong khoảng thời gian hai giây một lần.

/vi/images/watch-output-of-ls-command.jpg

Chạy lệnh mỗi X giây bằng đồng hồ

Bạn có thể linh hoạt sửa đổi chu kỳ làm mới của lệnh watch . Điều này tương đương với việc chỉ định một khoảng thời gian để lệnh watch không hoạt động trước khi thực hiện lại lệnh của nó. Để điều chỉnh khoảng thời gian làm mới, hãy sử dụng tùy chọn -n kèm theo khoảng thời gian tính bằng giây làm tham số.

 watch -n

Để thực thi lệnh liên tục cứ sau 5 giây, bạn có thể sử dụng phương pháp sau:

 watch -n 5 <command> 

/vi/images/change-update-interval-of-watch-command.jpg

Đánh dấu những thay đổi giữa các bản cập nhật

Lệnh watch trong shell script sửa đổi cách hiển thị của nó sau mỗi lần thực thi. Bằng cách sử dụng tùy chọn -d , người ta cũng có thể làm nổi bật sự khác biệt giữa đầu ra hiện tại và đầu ra trước đó.

 watch -d 

Ẩn tiêu đề trong đầu ra của lệnh xem

Hành vi mặc định của lệnh “xem” là hiển thị tiêu đề trong mỗi đầu ra bao gồm thông tin về khoảng thời gian cập nhật, tên lệnh cũng như ngày giờ hiện tại của hệ thống. Để bỏ tiêu đề này khỏi đầu ra, bạn có thể sử dụng tùy chọn “-t”.

 watch -t <command> 

Phát tiếng bíp khi có lỗi

Sau khi hoàn thành một quy trình Linux, nó thường trả về trạng thái thoát thường được coi là thước đo thành công hay thất bại. Thông lệ thông thường chỉ ra rằng giá trị bằng 0 biểu thị việc thực hiện thành công trong khi bất kỳ giá trị nào khác đóng vai trò là chỉ báo lỗi. Trong ngữ cảnh tùy chọn -b của lệnh đồng hồ, trạng thái thoát này được sử dụng để kích hoạt phát ra tín hiệu âm thanh dưới dạng tiếng bíp khi trả về giá trị khác 0, từ đó cảnh báo người dùng về các vấn đề tiềm ẩn trong tập lệnh của họ. lệnh.

Một cách tiếp cận khả thi để theo dõi trạng thái của sshd.service bằng systemd và nhận thông báo trong trường hợp gián đoạn dịch vụ liên quan đến việc sử dụng lệnh sau:

 watch -b sudo systemctl status sshd.service 

Để triển khai cơ chế thông báo bằng cảnh báo bằng âm thanh dưới dạng tiếng bíp thông qua gói “bíp” cho các dịch vụ đã ngừng hoạt động, người ta có thể sử dụng quy trình sau. Bằng cách thực hiện lệnh này, một loạt tiếng bíp liên tục sẽ phát ra từ loa bất cứ khi nào dịch vụ được chỉ định ngừng hoạt động. Ngược lại, khi dịch vụ được khôi phục, âm thanh bíp sẽ chấm dứt. Điều quan trọng cần lưu ý là chức năng này phụ thuộc vào sự hiện diện của gói “bíp” nói trên trên hệ thống của người dùng.

Thoát khỏi đồng hồ Lệnh thay đổi đầu ra

Cờ -g cho phép tạm dừng việc thực thi lệnh theo dõi và chấm dứt hoạt động của nó khi phát hiện bất kỳ thay đổi nào trong kết quả đầu ra, khiến nó đặc biệt hữu ích trong các tình huống trong đó việc giám sát sửa đổi đầu ra là rất quan trọng.

Sau khi sửa đổi đầu ra, việc thực thi lệnh watch sẽ dừng lại. Thao tác này có thể được kết hợp hiệu quả với việc sử dụng lệnh echo để trình bày nội dung trực quan trên bề mặt hiển thị.

Giả sử bạn đang đợi một tệp cụ thể xuất hiện trong một trong các thư mục của mình. Trong trường hợp như vậy, việc thực thi lệnh được cung cấp sẽ cho phép giám sát liên tục thư mục nói trên để biết sự hiện diện của tệp cụ thể. Sau khi được phát hiện, việc thực thi lệnh theo dõi sẽ dừng lại và thông báo cho biết tệp đến sẽ được hiển thị trên giao diện đầu cuối.

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

Một ví dụ minh họa khác liên quan đến việc nhận được cảnh báo khi có sự xuất hiện của một cá nhân cụ thể truy cập vào mạng của bạn:

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

Lệnh hiện tại sẽ giám sát đầu ra do lệnh “who” tạo ra, liệt kê các cá nhân hiện được kết nối với hệ thống. Khi người dùng đăng nhập, chức năng của lệnh “xem” sẽ dừng và hiển thị thông báo trong giao diện đầu cuối.

Theo cách tương tự, có thể ra lệnh cho lệnh “watch” để tạm dừng việc thực thi một dịch vụ cụ thể bất cứ khi nào thực hiện sửa đổi đối với một tệp cụ thể. Tuy nhiên, trong khi sử dụng một hệ thống các lệnh được kết nối với nhau, điều cần thiết là phải đặt toàn bộ lệnh trong dấu ngoặc kép.

Xem các hoạt động trong hệ thống Linux của bạn

Việc sử dụng lệnh “xem” có thể là một giải pháp thiết thực nếu bạn thường thực hiện các nhiệm vụ giống nhau một cách tuần tự. Bằng cách sử dụng lệnh này, bạn có thể loại bỏ nhu cầu nhập lệnh liên tục để nhận biết bất kỳ sửa đổi nào đã được thực hiện.

Người ta có thể sử dụng lệnh “xem” cùng với các lệnh Linux khác nhau để giám sát tài sản và tác vụ của hệ thống cũng như theo dõi những thay đổi trong tệp hoặc thư mục.