Crontab là gì? Hướng dẫn cài đặt Crontab Linux chi tiết
Việc tự động hóa các tác vụ định kỳ là một phần quan trọng giúp tiết kiệm thời gian và nâng cao hiệu quả làm việc và đều được các công ty về mảng công nghệ sử dụng.
Và để thực hiện điều đó thì Crontab sẽ hỗ trợ tối đa nhu cầu tự động hoá này cho người dùng lẫn doanh nghiệp. Vậy Crontab cụ thể là gì và cách thức hoạt động của nó ra sao, Helpdesk.inet.vn sẽ giúp các bạn tìm hiểu nhé.
1. Crontab là gì?

Crontab viết tắt của "Cron Table" là một tệp chứa lịch trình của nhiều mục cron khác nhau cần chạy vào những thời điểm cụ thể. Nói cách khác Crontab dùng để lập lịch tự động chạy các lệnh hoặc script tại những khoảng thời gian định trước. Nó là một phần của Cron Daemon - một dịch vụ hệ thống chạy ngầm, chuyên thực hiện các tác vụ được lên lịch.
2. Cơ chế hoạt động của Crontab?
Crontab hoạt động dựa trên sự phối hợp giữa cron daemon và tập tin cấu hình crontab để tự động hóa các tác vụ theo lịch trình. Dưới đây là cơ chế cụ thể:
- Cron Daemon hoạt động ngầm: Cron daemon kiểm tra tập tin crontab mỗi phút.
- Kiểm tra lịch trình: So sánh thời gian hiện tại với các tác vụ trong crontab đã lên lịch
- Thực thi tác vụ: Khi thời gian khớp, lệnh hoặc script được chạy trong môi trường shell mặc định.
- Quản lý đầu ra: Kết quả hoặc lỗi được gửi qua email hoặc ghi log theo cấu hình.
- Lặp lại quy trình: Cron daemon liên tục kiểm tra và thực thi các tác vụ khi cần
Một số lệnh crontab mà bạn thường dùng như sau:
- crontab -e: Đây là lệnh tạo hoặc chỉnh sửa file crontab
- crontab -l: Đây là lệnh hiển thị file crontab
- crontab -r: Đây là lệnh xóa file crontab
Hầu hết các VPS đều sẽ được cài sẵn ở trình crontab.
3. Hướng dẫn cài đặt Crontab trên Linux?
Bước 1:
Trên hệ thống dựa trên Debian/Ubuntu:
sudo apt update
sudo apt install cronTrên hệ thống dựa trên RHEL/CentOS:
sudo yum install cronie
Trên hệ thống dựa trên Fedora:
sudo dnf install cronie
Bước 2: Bật và khởi động dịch vụ Cron
sudo systemctl enable cron
sudo systemctl start cronBước 3: Kiểm tra dịch vụ Cron
sudo systemctl status cron
4. Ứng dụng của Crontab?
Crontab sẽ có các ứng dụng như sau:
* Tự động sao lưu dữ liệu (Backup): Bạn có thể setup việc sao lưu định kỳ mà không cần có sự tác động từ người dùng.
Ví dụ: Sao lưu dữ liệu vào lúc 2 giờ sáng mỗi ngày:
0 2 * * * /path/to/backup.sh
* Quản lý hệ thống: Crontab có thể giúp quản lý các tác vụ hệ thống, chẳng hạn như dọn dẹp log, kiểm tra trạng thái hệ thống, hoặc chạy các script bảo trì.
Ví dụ: Xóa các file log cũ hơn 7 ngày vào lúc 3 giờ sáng mỗi Chủ Nhật:
0 3 * * 0 find /var/log -type f -name "*.log" -mtime +7 -exec rm -f {} \;
* Gửi email tự động: Crontab có thể được sử dụng để gửi email tự động vào những thời điểm nhất định, ví dụ như gửi thông báo nhắc nhở, báo cáo, hoặc cập nhật định kỳ.
Ví dụ: Gửi email thông báo vào lúc 9 giờ sáng mỗi ngày
0 9 * * * echo "Daily report" | mail -s "Daily Report" user@example.com
.....
5. Cuối cùng:
Trên đây là bài viết của mình về Crontab là gì? Hướng dẫn tạo Crontab Linux chi tiết - nếu cần bổ sung các bạn có thể cmt xuống phía dưới để mọi người tham khảo