Làm cách nào để Kiểm tra xem Crontab có đang hoạt động hay không?

How Do I Check If Crontab Is Working



Crontab là một công cụ lập lịch công việc cực kỳ hữu ích trong các hệ thống dựa trên Linux, cho phép bạn chuyển đổi các công việc hàng ngày của mình thành các công việc crontab có thể chạy tự động theo lịch đã định. Tuy nhiên, vì trình lên lịch công việc này hoạt động âm thầm ở chế độ nền, đó là lý do tại sao hầu hết người dùng tự hỏi liệu nó có hoạt động hay không.

Đôi khi, bạn chỉ định nhiệm vụ sao lưu hệ thống của mình hoặc cập nhật nó vào bộ lập lịch công việc crontab. Những tác vụ này được coi là rất quan trọng đối với hoạt động bình thường của bất kỳ hệ thống máy tính nào. Đó là lý do tại sao, nếu chúng bị bỏ sót vì bất kỳ lý do gì, hệ thống của bạn sẽ ngừng hoạt động. Vì vậy, điều cực kỳ quan trọng là luôn kiểm tra bộ lập lịch công việc crontab của bạn cũng như để cập nhật thông tin về việc nó có đang chạy hay không và thực hiện các công việc được giao cho nó hay không.







Đó là lý do tại sao mục tiêu của bài viết hôm nay là hướng dẫn bạn hai phương pháp kiểm tra xem crontab có hoạt động hay không khi sử dụng Linux Mint 20.



Phương pháp kiểm tra xem Crontab có hoạt động hay không

Hai phương pháp sau có thể được sử dụng để kiểm tra xem crontab có hoạt động hay không. Phương pháp đầu tiên là phương pháp đơn giản trong khi phương pháp thứ hai hơi phức tạp vì nó có nhiều bước hơn phương pháp đầu tiên. Nhưng dù sao, chúng tôi sẽ nêu cả hai phương pháp bên dưới:



Phương pháp # 1: Bằng cách kiểm tra trạng thái của dịch vụ Cron

Để kiểm tra xem crontab có hoạt động hay không bằng cách xem trạng thái của dịch vụ Cron, bạn phải thực hiện các bước sau:





Khởi chạy thiết bị đầu cuối trong bất kỳ bản phân phối Linux nào bạn đang làm việc. Như đã nêu ở trên, chúng tôi đã sử dụng Linux Mint 20 để chứng minh cả hai phương pháp kiểm tra xem crontab có hoạt động hay không. Do đó, chúng tôi cũng đã hiển thị thiết bị đầu cuối của bản phân phối Linux này trong hình ảnh bên dưới:



Bây giờ để kiểm tra trạng thái của dịch vụ Cron trong Linux Mint 20, bạn cần nhập lệnh sau:

$ systemctl trạng thái cron

Chạy lệnh systemctl cùng với cờ trạng thái sẽ kiểm tra trạng thái của dịch vụ Cron như thể hiện trong hình dưới đây. Nếu trạng thái là Hoạt động (Đang chạy) thì nó sẽ được xác nhận rằng crontab đang hoạt động hoàn toàn tốt, ngược lại thì không.

Trong trường hợp của chúng tôi, crontab hoạt động tốt, đó là lý do tại sao bạn có thể chứng kiến ​​trạng thái Hoạt động (Đang chạy) trong hình ảnh hiển thị ở trên. Tuy nhiên, nếu crontab của bạn không hoạt động, thì bạn luôn có thể khởi động dịch vụ này bằng cách chạy lệnh sau trong thiết bị đầu cuối của mình:

$ sudo service cron start

Bắt đầu một dịch vụ mới trong Linux Mint 20 luôn yêu cầu các đặc quyền của người dùng root. Đó là lý do tại sao nếu bạn quên đề cập đến từ khóa sudo trước lệnh được đề cập ở trên, thì nó sẽ hiển thị thông báo lỗi trên thiết bị đầu cuối. Tuy nhiên, nếu bạn đã đăng nhập vào tài khoản người dùng root, thì bạn có thể truy cập ngay cả khi không có từ khóa sudo.

Phương pháp # 2: Bằng cách chạy một công việc Crontab

Để kiểm tra xem crontab có hoạt động hay không bằng cách chạy công việc crontab, bạn phải thực hiện các bước sau:

Trong phương pháp này, trước tiên chúng ta sẽ tạo một tập lệnh bash mà chúng ta sẽ chạy như một công việc crontab. Nếu công việc crontab của chúng tôi sẽ hoạt động, tức là nếu tập lệnh bash của chúng tôi sẽ thực thi như dự định, thì điều đó có nghĩa là crontab đang hoạt động hoàn toàn tốt, nếu không thì không. Vì vậy, chúng tôi quyết định tạo một tệp bash trong Thư mục chính có tên Cron.sh. Sau khi tạo tệp này, chúng tôi mở nó và nhập tập lệnh được hiển thị trong hình ảnh bên dưới vào tệp bash của chúng tôi. Tập lệnh này chỉ in một thông báo giả trên thiết bị đầu cuối. Sau đó, chúng tôi đã lưu tệp bash của mình và đóng nó.

Bước tiếp theo là làm cho tệp bash của chúng ta có thể thực thi được để công việc crontab của chúng ta có đặc quyền thực thi tệp bash này. Để làm cho tập lệnh bash mới tạo của chúng tôi có thể thực thi được, chúng tôi sẽ chạy lệnh sau trong thiết bị đầu cuối của chúng tôi:

$ chmod + x Cron.sh

Chạy lệnh này sẽ không hiển thị bất kỳ đầu ra nào trên thiết bị đầu cuối thay vì điều khiển sẽ được giao lại cho bạn, điều này sẽ cho biết rằng lệnh này đã được thực hiện thành công.

Bây giờ chúng ta sẽ tạo một công việc crontab để chạy tệp bash này. Để làm được điều đó, chúng ta cần mở tệp crontab trên thiết bị đầu cuối bằng cách chạy lệnh được nêu bên dưới trong đó:

$ crontab -e

Khi tệp crontab sẽ xuất hiện trên thiết bị đầu cuối của bạn, bạn cần nhập dòng được đánh dấu trong hình ảnh sau vào tệp của mình. Nhập dòng này sẽ tạo ra một công việc crontab để thực thi tệp bash của chúng tôi mỗi giây. Chúng tôi đã nhấn Ctrl + X để lưu tệp crontab và đóng nó để có thể tiếp tục.

Ngay sau khi tệp này đóng, trình nền Cron sẽ cài đặt crontab mới như thể hiện trong hình dưới đây vì chúng tôi vừa sửa đổi tệp crontab.

Nếu crontab của chúng tôi hoạt động tốt, thì tập lệnh bash của chúng tôi sẽ được thực thi mỗi giây. Để xác minh điều này, chúng ta cần kiểm tra tệp / var / log / syslog bằng cách chạy lệnh sau trong terminal:

$ sudo grep –a Cron.sh / var / log / syslog

Tệp này sẽ chứa nhật ký về tất cả các lần tệp bash của bạn được thực thi, điều này sẽ ngụ ý rằng crontab của bạn đang hoạt động như được hiển thị trong hình ảnh bên dưới:

Phần kết luận

Trong bài viết hôm nay, chúng tôi đã hướng dẫn bạn hai phương pháp xác minh xem crontab có hoạt động hay không. Phương pháp đầu tiên sẽ khá đầy đủ cho bạn nếu bạn chỉ định kiểm tra trạng thái của dịch vụ crontab của mình, tuy nhiên, nếu bạn muốn xem liệu có bất kỳ công việc crontab cụ thể nào đang thực thi thành công hay không, thì bạn sẽ phải thực hiện Phương pháp số 2. Các phương pháp này được thực thi trên Linux Mint 20, tuy nhiên, bạn cũng có thể sử dụng bất kỳ bản phân phối Linux ưa thích nào khác.