4 cách để kiểm tra xem cron có hoạt động trên Linux không
cron là một công cụ lập lịch công việc cho các hệ điều hành giống Linux và Unix. Nó được cài đặt sẵn trên tất cả các bản phân phối Linux và phù hợp nhất để tự động hóa các tác vụ lặp đi lặp lại.
Để Cron hoạt động hiệu quả, điều quan trọng là phải thường xuyên kiểm tra xem tiện ích đó có hoạt động chính xác trên hệ thống của bạn hay không. Có một số phương pháp có thể thực hiện được điều này, chẳng hạn như kiểm tra trạng thái của dịch vụ Cron, xem lại các tệp nhật ký liên quan đến Cron, thực thi công việc Cron mô phỏng và liệt kê các quy trình hiện đang hoạt động trên hệ thống của bạn.
##Cron là gì?
Cron là một công cụ lén lút quản lý và lên lịch các quy trình hệ thống một cách tự động. Trình lập lịch tác vụ này cho phép người dùng giám sát và bảo trì hệ sinh thái phần mềm tổ chức các hoạt động định kỳ như hướng dẫn dòng lệnh hoặc chương trình theo kịch bản theo dòng thời gian hoặc khoảng thời gian định trước.
Cron là một tiện ích lập lịch cho phép tự động hóa các nhiệm vụ quản trị và bảo trì hệ thống lặp đi lặp lại, có thể được yêu cầu thường xuyên để có hiệu suất tối ưu.
Một số triển khai Cron tồn tại cho các hệ thống Linux, với tính khả dụng tùy thuộc vào bản phân phối cụ thể. Ví dụ: “Vixie cron” được sử dụng rộng rãi-lấy tên từ người tạo ra nó, Paul Vixie-rất phổ biến và đóng vai trò là tùy chọn mặc định cho các bản phân phối như Debian và Ubuntu. Ngược lại, hệ điều hành Arch chọn sử dụng bộ tính giờ systemd thay vì triển khai Cron truyền thống.
Cronie là một triển khai thay thế của tiện ích lập lịch thời gian cron Vixie, có thể dễ dàng lấy được thông qua kho lưu trữ gói Arch Linux bằng cách sử dụng trình quản lý gói Pacman. Để cài đặt Cronie trên hệ thống của bạn, bạn có thể thực thi lệnh “pacman-S cronie” trong môi trường terminal hoặc shell của mình.
sudo pacman -S cronie
Sau đó bắt đầu và kích hoạt nó với:
sudo systemctl start cronie.service
sudo systemctl enable cronie.service
Để xác định phiên bản cron hiện được cài đặt trên hệ thống của bạn, bạn có thể tham khảo trang hướng dẫn của nó bằng cách sử dụng lệnh “man cron”. Điều này sẽ cung cấp thông tin về phiên bản cụ thể và các tính năng có sẵn cho cài đặt cron cụ thể đó.
man cron
Cách kiểm tra xem cron có hoạt động trên Linux không
Để xác định xem tiện ích cron có hoạt động chính xác hay không, có một số phương pháp xác minh.
Kiểm tra trạng thái dịch vụ cron trên Linux
Để xác minh xem dịch vụ cron có hoạt động bình thường hay không, người ta có thể sử dụng lệnh Linux cơ bản từ thiết bị đầu cuối. Để truy cập thiết bị đầu cuối, nhấn “Ctrl + Alt + T” trên bàn phím của bạn, sau đó sử dụng lệnh “systemctl” để đánh giá trạng thái của cron.
sudo systemctl status cron
Biểu thị hoạt động thành công, sự hiện diện của đầu ra nói trên biểu thị rằng tiện ích cron đang hoạt động bình thường trong giới hạn của môi trường máy tính của bạn.
Tuy nhiên, điều gì xảy ra khi Cron ở trạng thái không hoạt động, chẳng hạn như mô tả bên dưới?
Bạn có thể bắt đầu dịch vụ như thế này:
sudo systemctl start cron.service
Để đảm bảo rằng dịch vụ cron tự động khởi động khi hệ thống khởi động lại, hãy làm theo các bước sau sau khi bắt đầu hoạt động:
sudo systemctl enable cron.service
Kiểm tra nhật ký cron trên Linux
Một phương pháp khác để xác minh rằng cron daemon có hoạt động chính xác hay không là kiểm tra các tệp nhật ký liên quan của nó, thường nằm trong thư mục/var/log/syslog trên hệ thống Linux.
Syslog là một giao thức truyền thông được tiêu chuẩn hóa được các hệ thống dựa trên Linux sử dụng để hợp nhất dữ liệu nhật ký sự kiện trong kho lưu trữ trung tâm. Việc tổng hợp nhật ký này tạo điều kiện thuận lợi cho nhiều hoạt động CNTT thiết yếu khác nhau như tiến hành kiểm tra, triển khai các kỹ thuật giám sát và đánh giá hiệu suất, giải quyết vấn đề thông qua nỗ lực khắc phục sự cố, tạo báo cáo và thực hiện các hoạt động bảo trì liên quan khác.
Để truy cập nhật ký hệ thống chứa các bản ghi công việc định kỳ, bạn có thể thực thi một lệnh cụ thể như sau:
grep 'cron' /var/log/syslog
Bạn sẽ quan sát thấy một màn hình giống hệt xác nhận chức năng phù hợp của cron daemon, cũng như thực tế là các nhật ký của nó đang được ghi lại trong tệp nhật ký được chỉ định:
Để tách biệt và phân tích nhật ký dành riêng cho cron trong nhật ký hệ thống toàn diện hơn được lưu trữ trong thư mục nhật ký hệ thống, người ta có thể thấy khó khăn do có các mục nhật ký bổ sung không liên quan đến tác vụ cron. Để tránh vấn đề này, một cách tiếp cận liên quan đến việc tạo một tệp nhật ký chuyên dụng chỉ bao gồm các mục cron được trích xuất từ tệp nhật ký hệ thống có thể mang lại lợi ích cho việc kiểm tra và phân tích thông tin mong muốn một cách hiệu quả.
Trong hình minh họa này, chúng tôi sẽ sử dụng trình soạn thảo văn bản nano làm mô hình nhưng bạn có thể tự do sử dụng bất kỳ ứng dụng nào mà bạn thấy phù hợp với mục đích của mình.
Mở tệp sau bằng nano:
nano /etc/rsyslog.d/50-default.conf
Xác định vị trí dòng bắt đầu bằng:
#cron.*
Vui lòng xóa biểu tượng “#” khỏi dòng sau để bỏ ghi chú và làm theo hướng dẫn tiếp theo để lưu và thoát tệp bằng phím tắt được chỉ định.
Để khởi động lại dịch vụ rsyslog, bạn có thể thực thi lệnh sau trong terminal hoặc dấu nhắc lệnh:csssudo systemctl restart rsyslog.service
sudo service rsyslog restart
Các tệp nhật ký cho các tác vụ đã lên lịch sẽ được lưu trữ trong thư mục /var/log
, cụ thể là trong tệp cron.log
.
Nếu giao diện truy xuất nhật ký của hệ thống của bạn gặp khó khăn trong việc lấy bản ghi các hoạt động được thực hiện bởi tiện ích lập lịch có tên là “cron”, điều đó có thể cho thấy rằng trình lập lịch tác vụ cụ thể này hiện không hoạt động. Để xác minh xem cron có hoạt động bình thường hay không, bạn có thể sử dụng các phương pháp thay thế để xác thực hoạt động của nó.
Chạy cron Job trên Linux
Một cách để xác minh rằng tính năng cron trong hệ thống của bạn đang hoạt động hiệu quả là tạo một công việc cron thử nghiệm đơn giản và thực thi nó. Nếu công việc hoàn thành thành công nhiệm vụ được chỉ định thì điều đó cho thấy chức năng cron đang hoạt động như dự định.
Để thực thi một loạt lệnh liên tiếp, cần phải viết tập lệnh Bash, tập lệnh này cho phép người dùng tự động hóa các hoạt động lặp đi lặp lại trong hệ điều hành Linux thông qua các kỹ thuật lập trình.
Để tạo một tệp văn bản xác nhận chức năng của một tác vụ được lên lịch dưới dạng tập lệnh Bash, chúng ta sẽ bắt đầu quy trình bằng cách xác định thư mục làm việc hiện tại thông qua việc thực thi một lệnh cụ thể.
pwd
Để tạo một tệp mới trong thư mục hiện có, bạn có thể sử dụng lệnh “chạm”, sau đó chỉ định tên tệp mong muốn và không có đối số. Điều này sẽ tạo ra một tệp trống có tên được chỉ định ở vị trí hiện tại.
touch file.txt
Sau này, bạn nên tạo tập lệnh Bash bằng trình soạn thảo văn bản Nano.
nano script.sh
Thêm các nội dung sau vào tập tin:
#! /usr/bin/bash
echo "my cronjob is working!" >> /home/username/file.txt
Hãy đảm bảo rằng bạn chỉ định vị trí chính xác của tệp văn bản được tạo. Kết thúc công việc của bạn bằng cách nhấn “Ctrl + X”, tiếp theo là “Y” và sau đó nhấn phím “Enter” trên bàn phím của bạn.
Cấp quyền thực thi cho tập lệnh Bash:
chmod \+x script.sh
Để thiết lập tác vụ theo lịch trình để thực thi tập lệnh, cần truy cập và chỉnh sửa tệp cron job bằng lệnh sau trong terminal hoặc dấu nhắc lệnh:
crontab -e
Ở phần kết của tài liệu này, vui lòng chèn tuyên bố sau.
* * * * * /path/to/script.sh
Ngày hết hạn của mục cấu hình được biểu thị bằng năm dấu hoa thị, mỗi dấu hoa thị tương ứng với các khía cạnh khác nhau về hiệu lực của nó. Cụ thể, dấu hoa thị đầu tiên biểu thị phút (trong khoảng từ 0 đến 59), trong khi dấu hoa thị thứ hai biểu thị giờ (biểu thị một chu kỳ đầy đủ 24 giờ, chẳng hạn như 1 giờ chiều tương ứng với 13 giờ và nửa đêm bắt đầu từ 0). Dấu hoa thị thứ ba tượng trưng cho ngày trong tuần, từ 0 đến 6, trong đó cả 0 và 6 đều tượng trưng cho Chủ nhật. Dấu hoa thị thứ tư đề cập đến tháng, kéo dài từ 0 đến 7, với 0 đại diện cho tháng 1 và 7 là tháng 7. Cuối cùng, dấu hoa thị thứ năm biểu thị năm
Tệp chứa thông tin liên quan đến tên tệp và đường dẫn thư mục tương ứng của nó.
Sau khi hoàn thành nhiệm vụ lưu và tắt tài liệu, người ta có thể nhận thấy một thông báo được hiển thị trong giao diện dòng lệnh của họ với nội dung “cron job đã được cài đặt.
Để xác minh xem tác vụ đã lên lịch có được thực thi thành công hay không, hãy điều hướng đến vị trí lưu trữ “file.txt” và hiển thị nội dung của nó trên bảng điều khiển bằng cách sử dụng lệnh ‘cat’.
cat file.txt
Điều này cho thấy cron đang hoạt động tốt.
Kiểm tra các tiến trình đang chạy trên Linux
Một phương pháp khác để xác minh rằng cron daemon đang hoạt động hiệu quả bao gồm việc kiểm tra danh sách các tiến trình hiện đang hoạt động trong hệ điều hành. Điều này có thể được thực hiện thông qua việc sử dụng lệnh “ps”, lệnh này hiển thị thông tin về tất cả các tiến trình đang chạy. Trong bảng liệt kê như vậy, cron daemon sẽ xuất hiện dưới tên “crond.
ps aux | grep cron
Việc xác minh nói trên chứng minh hoạt động của quy trình cron trong hệ điều hành Linux của bạn.
Tự động hóa và lên lịch các tác vụ hệ thống với cron
Cron là một tiện ích quan trọng trong hệ điều hành Linux, giúp nó hoạt động tối ưu. Đôi khi, khi giải quyết các sự cố hệ thống, có thể cần phải xác minh xem Cron có hoạt động hay không.
Để xác định xem dịch vụ cron có hoạt động chính xác hay không, có một số phương pháp có sẵn. Một tùy chọn liên quan đến việc kiểm tra tệp nhật ký của các hoạt động cron thông qua việc sử dụng các tiện ích dòng lệnh như “log” hoặc “grep”. Ngoài ra, người ta có thể tham khảo danh sách các quy trình hiện đang hoạt động trên hệ thống của mình bằng các công cụ như “ps” hoặc “top”, các công cụ này sẽ hiển thị thông tin về mọi tác vụ đã lên lịch đang được thực thi hiện tại. Hơn nữa, tiện ích được gọi là “systemctl” có thể được sử dụng để xác minh trạng thái hoạt động của cron bằng cách quan sát trạng thái hiện tại của nó. Cuối cùng, việc cố gắng thực thi một tác vụ cron thử nghiệm có thể cung cấp cái nhìn sâu sắc về việc liệu nó có hoạt động và có thể hoạt động như dự định hay không.
Cron là một tiện ích cho phép thực thi tự động các lệnh hoặc tập lệnh theo các khoảng thời gian được chỉ định, tạo điều kiện thuận lợi cho việc quản lý liền mạch các tác vụ hệ thống hàng ngày. Nhiều tác vụ trong số này được tạo ra bằng cách cài đặt phần mềm, giúp đơn giản hóa hơn nữa các quy trình hành chính. Bằng cách tự động hóa và lên lịch các hoạt động thường lệ, cả hiệu suất và độ ổn định của hệ thống đều có thể được tối ưu hóa, góp phần cải thiện hiệu suất tổng thể.