cron là một trình 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 bình thường, bạn phải kiểm tra định kỳ xem tiện ích có chạy tốt trên hệ thống của mình không. Bạn có thể làm điều đó theo 4 cách khác nhau, bao gồm kiểm tra trạng thái service cron, kiểm tra nhật ký cron, chạy công việc định kỳ kiểm tra và liệt kê các quy trình đang chạy trên hệ thống của bạn.
cron là gì?
Trình xử lý công việc im lặng, cron, thực hiện nhiệm vụ tự động hóa và lên lịch các tác vụ hệ thống. Người dùng cấu hình và duy trì môi trường phần mềm sử dụng cron để lên lịch các công việc như lệnh hoặc shell script - còn được gọi là các cron job - để chạy định kỳ vào những thời điểm hoặc khoảng thời gian cố định.
cron tự động hóa các tác vụ quản trị hoặc bảo trì hệ thống mà bạn có thể cần thực hiện thường xuyên.
Có một số triển khai có sẵn trên Linux. Phiên bản bạn có sẽ tùy thuộc vào bản phân phối của bạn. "Vixie cron", được đặt theo tên nhà phát triển ban đầu của nó, Paul Vixie, rất phổ biến và là tùy chọn mặc định trên Debian và Ubuntu. Arch không có bất kỳ phiên bản cron nào hỗ trợ công cụ tính giờ systemd.
cronie là một nhánh của Vixie cron có sẵn dưới dạng gói Arch tiêu chuẩn. Để cài đặt nó, hãy sử dụng pacman:
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
Bạn có thể xem phiên bản cron nào được cài đặt trên hệ thống của mình bằng cách tra cứu manpage của nó:
man cron
Cách kiểm tra xem cron có hoạt động trên Linux không
Dưới đây là một số cách bạn có thể kiểm tra xem cron có hoạt động bình thường không:
Phương pháp 1: Kiểm tra trạng thái dịch vụ cron trên Linux
Một cách để kiểm tra xem cron có hoạt động hay không là kiểm tra trạng thái của service cron bằng cách chạy lệnh Linux cơ bản. Mở terminal Linux bằng cách nhấn Ctrl + Alt + T và sử dụng lệnh systemctl để kiểm tra trạng thái của cron:
sudo systemctl status cron
Nếu bạn thấy đầu ra sau, điều này có nghĩa là cron đang hoạt động và chạy tốt trên hệ thống của bạn.
Nhưng nếu cron ở trạng thái không hoạt động như hình bên dưới thì sao?
Bạn có thể bắt đầu service như thế này:
sudo service cron start
Sau khi bắt đầu service cron, hãy kích hoạt nó để nó khởi động mỗi khi hệ thống khởi động lại:
sudo service cron enable
Phương pháp 2: Kiểm tra nhật ký cron trên Linux
Một cách khác để kiểm tra xem cron có hoạt động bình thường hay không là kiểm tra các file nhật ký. Nhật ký cron được lưu trữ trong thư mục /var/log/syslog trên Linux.
syslog là một giao thức mà các hệ thống Linux sử dụng để tập trung các bản ghi dữ liệu sự kiện. Sau đó, nhật ký được truy cập để thực hiện kiểm tra, giám sát, khắc phục sự cố, báo cáo và các nhiệm vụ vận hành CNTT cần thiết khác.
Bạn có thể xem nhật ký công việc định kỳ trong file nhật ký hệ thống bằng cách thực thi lệnh sau:
grep CRON /var/log/syslog
Bạn sẽ thấy một kết quả tương tự chỉ ra rằng cron đang chạy tốt và nhật ký của nó đang được lưu trữ trong file nhật ký:
Vì thư mục nhật ký hệ thống chứa các nhật ký hệ thống khác cùng với nhật ký cron, nên có thể hơi phức tạp khi chỉ kiểm tra các nhật ký liên quan đến cron trong file. Bạn có thể giải quyết vấn đề này bằng cách tạo một file nhật ký riêng chỉ lưu trữ các mục cron xuất hiện trong file nhật ký hệ thống.
Để làm điều đó, hãy mở file sau bằng trình chỉnh sửa nano:
nano /etc/rsyslog.d/50-default.conf
Xác định vị trí dòng bắt đầu bằng:
#cron.*
Bỏ comment dòng này bằng cách xóa dấu thăng (#). Sau đó, lưu và thoát file bằng cách nhấn Ctrl + X, sau đó nhấn Y và nhấn Enter.
Khởi động lại service rsyslog bằng cách đưa ra lệnh này:
sudo service rsyslog restart
Bây giờ bạn sẽ nhận được nhật ký trong file cron.log nằm trong thư mục /var/log.
Nếu terminal của bạn không tìm nạp được bất kỳ nhật ký nào, điều đó có nghĩa là cron không chạy. Trong trường hợp đó, hãy xác nhận xem cron có đang hoạt động hay không bằng các phương pháp khác.
Phương pháp 3: Chạy cron Job trên Linux
Bạn cũng có thể kiểm tra xem cron có hoạt động hay không bằng cách tạo một cron job thử nghiệm và thực hiện nó. Nếu job thành công trong việc thực hiện nhiệm vụ, điều này có nghĩa là nó hoạt động tốt.
Trước tiên, bạn cần tạo một Bash script. Bash script cho phép bạn tự động hóa các tác vụ hàng ngày trên Linux.
Hãy tạo một Bash script sẽ xuất ra “my cronjob is working!" thành file TXT. Để tạo file, trước tiên, hãy tìm thư mục làm việc hiện tại của bạn bằng lệnh này:
pwd
Tạo một file trong thư mục hiện tại bằng lệnh touch:
touch file.txt
Sau đó, tạo file Bash bằng nano:
nano script.sh
Thêm các nội dung sau vào file:
#! /usr/bin/bash
echo "my cronjob is working!" >> /home/username/file.txt
Đảm bảo cung cấp đúng vị trí của file văn bản mà bạn đã tạo. Lưu và thoát file bằng cách nhấn Ctrl + X, sau đó nhấn Y và nhấn Enter.
Cấp quyền thực thi cho Bash script:
chmod +x script.sh
Bây giờ, hãy tạo một công việc định kỳ để thực thi script. Để làm điều đó, hãy mở file crontab bằng:
crontab -e
Nhập dòng sau vào cuối file.
* * * * * /path/to/script.sh
5 dấu sao khớp với thời gian thực hiện, trong đó dấu sao đầu tiên biểu thị số phút, dấu sao thứ hai biểu thị giờ, dấu sao thứ ba biểu thị ngày, dấu sao thứ tư biểu thị tháng và dấu sao cuối cùng biểu thị năm.
Tên của file thực thi và đường dẫn của nó cũng được đề cập trong file.
Sau khi lưu và đóng file, bạn sẽ thấy thông báo “crontab: installing new crontab” trên terminal.
Để kiểm tra xem cron job có hoạt động hay không, hãy chuyển đến thư mục của file.txt và in nội dung của nó trên terminal bằng cách sử dụng cat:
cat file.txt
Điều này chỉ ra rằng cron đang hoạt động tốt.
Cách 4: Kiểm tra các tiến trình đang chạy trên Linux
Một cách khác để bạn có thể kiểm tra xem cron daemon có hoạt động hay không là liệt kê các tiến trình đang chạy trên hệ thống của bạn. Bạn có thể đạt được điều này bằng cách sử dụng lệnh ps. cron daemon sẽ hiển thị trong đầu ra dưới dạng crond.
ps -ef | grep crond
Điều này xác nhận rằng tiến trình cron đang chạy trên hệ thống Linux của bạn.
cron là một trong những tiện ích quan trọng nhất trên Linux cho phép hệ thống hoạt động hiệu quả. Đôi khi bạn phải kiểm tra xem cron có hoạt động hay không trong khi khắc phục sự cố hệ thống.
Bạn có thể đạt được điều này bằng cách kiểm tra nhật ký cron hoặc xem các tiến trình đang chạy trên hệ thống của mình. Bạn cũng có thể kiểm tra trạng thái cron bằng tiện ích systemctl. Ngoài ra, việc chạy cron job thử nghiệm cũng có thể cho bạn biết liệu service có chạy hay không.
Hoạt động trơn tru của cron cho phép bạn tự động hóa và lên lịch các công việc hệ thống hàng ngày. Hầu hết các công việc định kỳ đều được tạo tự động bởi các ứng dụng đã cài đặt. Tự động hóa và lập lịch các tác vụ sẽ cải thiện hiệu suất tổng thể của hệ thống và giữ cho nó hoạt động tốt.