Crontab là gì? Hướng dẫn cách cài đặt và sử dụng Crontab Linux từ A-Z
09/03/2026Crontab là công cụ cực kỳ quan trọng giúp quản trị viên và lập trình viên lên lịch chạy script, backup dữ liệu hoặc thực thi lệnh theo chu kỳ mà không cần thao tác thủ công. Trong bài viết này, Viettel IDC sẽ cùng bạn tìm hiểu Crontab là gì, cú pháp crontab, cách cài đặt và sử dụng Crontab Linux chi tiết kèm ví dụ thực tế cho người mới bắt đầu.
Crontab là gì?
Crontab (viết tắt của cron table) là “bảng lịch” trên Linux/Unix dùng để lên lịch chạy tự động các lệnh hoặc script theo chu kỳ bạn đặt sẵn. Bạn chỉ cần khai báo thời gian chạy + câu lệnh cần thực thi, sau đó hệ thống sẽ tự làm đúng giờ, đúng nhịp mà không cần bạn can thiệp thủ công.
Crontab đặc biệt hữu ích cho các tác vụ lặp lại như backup dữ liệu, dọn log, đồng bộ file, chạy báo cáo, gửi email hệ thống, chạy batch xử lý dữ liệu… Khi làm server/VPS, crontab gần như là kỹ năng “must-have”.
Cron job là gì?
Cron job là một tác vụ cụ thể được khai báo trong crontab. Mỗi cron job gồm 2 phần:
- Phần lịch (minute, hour, day of month, month, day of week).
- Phần lệnh/script sẽ chạy.
Cú pháp crontab là phần cốt lõi để bạn “lên lịch đúng”. Một dòng crontab tiêu chuẩn gồm 5 trường thời gian và một trường lệnh. Bạn có thể xem 5 trường này như 5 câu hỏi: phút nào, giờ nào, ngày nào trong tháng, tháng nào, và thứ mấy trong tuần.
Cấu trúc dòng lệnh crontab
1. Cú pháp tổng quát của lệnh crontab
Cú pháp tổng quát của crontab:
m h dom mon dow command
Trong đó m là phút, h là giờ, dom là ngày trong tháng, mon là tháng, dow là thứ trong tuần. Các trường cách nhau bằng khoảng trắng hoặc tab. Sau đó là lệnh cần thực thi. Khi cron job được chạy, cron sẽ gọi lệnh đúng như bạn viết, vì vậy hãy viết lệnh rõ ràng và ưu tiên đường dẫn tuyệt đối.
2. Ý nghĩa 5 trường thời gian
Trường phút chạy từ 0 đến 59. Trường giờ chạy từ 0 đến 23. Trường ngày trong tháng thường là 1 đến 31. Trường tháng là 1 đến 12 hoặc có thể dùng tên tháng dạng viết tắt trên một số hệ thống. Trường thứ trong tuần thường là 0 đến 7, trong đó 0 hoặc 7 thường đại diện cho Chủ nhật tùy hệ thống. Nhiều distro cho phép viết thứ dạng chữ như mon, tue, wed, thu, fri, sat, sun.
Bạn có thể đặt lịch rất linh hoạt, từ mỗi phút, mỗi giờ, đến những lịch phức tạp như “mỗi 10 phút trong giờ làm việc từ thứ Hai đến thứ Sáu”.
3. Các ký hiệu phổ biến
Dấu * là ký hiệu quan trọng nhất, đại diện cho “mọi giá trị” của trường đó. Nếu bạn đặt * ở trường ngày, nghĩa là ngày nào cũng chạy. Dấu , cho phép bạn liệt kê nhiều giá trị. Dấu - cho phép bạn đặt khoảng. Dấu / cho phép bạn đặt bước nhảy, ví dụ */5 ở trường phút nghĩa là mỗi 5 phút chạy một lần.
Bên cạnh đó, crontab còn hỗ trợ các “shortcut” bắt đầu bằng @ như @daily, @weekly, @monthly, @yearly, @hourly và @reboot. Những shortcut này giúp bạn viết nhanh các lịch phổ biến, giảm sai sót khi nhập 5 trường thời gian. Tuy nhiên, khi cần lịch tùy biến cao, bạn vẫn nên dùng đầy đủ 5 trường.
Cách thức hoạt động của Crontab là gì?
Crontab hoạt động dựa trên các file cấu hình lịch trình (cron schedule) để quản lý và tự động chạy các tác vụ trên hệ điều hành Linux. Mỗi người dùng trên hệ thống đều có thể sở hữu một file Crontab riêng nhằm thiết lập các công việc cần thực thi theo thời gian đã định sẵn. Những file này thường được lưu trữ trong thư mục /var/spool/cron. Tuy nhiên, người dùng không thể chỉnh sửa trực tiếp các file này bằng trình soạn thảo thông thường, mà cần sử dụng lệnh chuyên dụng của hệ thống.
Để tạo hoặc chỉnh sửa các tác vụ trong Crontab, bạn phải sử dụng lệnh crontab -e. Lệnh này sẽ mở file Crontab trong trình editor mặc định của hệ thống, cho phép bạn thêm hoặc chỉnh sửa các cron job theo lịch trình mong muốn. Sau khi lưu lại, cron daemon sẽ tự động cập nhật và áp dụng lịch mới.
Trong quá trình làm việc với Crontab, có một số lệnh cơ bản thường được sử dụng:
- crontab -e: Tạo mới hoặc chỉnh sửa file Crontab của người dùng hiện tại.
- crontab -l: Hiển thị danh sách tất cả các cron job đã được thiết lập.
- crontab -r: Xóa toàn bộ các tác vụ trong file Crontab.
Ví dụ crontab phổ biến trong thực tế
Trong quá trình quản trị hệ thống Linux hoặc vận hành website trên VPS, crontab thường được sử dụng để tự động hóa nhiều tác vụ lặp lại theo thời gian. Việc thiết lập cron job giúp hệ thống tự động chạy các script hoặc lệnh định kỳ mà không cần người quản trị phải thao tác thủ công. Nhờ đó, các công việc như sao lưu dữ liệu, dọn dẹp log, gửi báo cáo hoặc đồng bộ dữ liệu có thể diễn ra ổn định và đúng lịch trình đã cấu hình.
Hướng dẫn cách cài đặt Crontab Linux
Trên hầu hết các hệ điều hành Linux, công cụ Crontab thường đã được cài đặt sẵn để người dùng có thể thiết lập các tác vụ tự động. Tuy nhiên, trong một số trường hợp khi sử dụng lệnh crontab -l mà hệ thống hiển thị thông báo command not found, điều đó cho thấy cron chưa được cài đặt trên hệ thống. Lúc này bạn cần tiến hành cài đặt cron thủ công thông qua trình quản lý gói của hệ điều hành.
Trước tiên, bạn nên kiểm tra xem Crontab đã tồn tại hay chưa bằng cách mở Terminal và nhập lệnh:
crontab -l
Nếu hệ thống không nhận diện lệnh này, bạn có thể cài đặt cron theo từng hệ điều hành Linux phổ biến như sau:
Cài đặt Crontab trên Ubuntu / Debian
Trên các hệ thống Ubuntu hoặc Debian, bạn cần cập nhật danh sách package trước khi cài đặt cron.
sudo apt update
sudo apt install cron
Sau khi cài đặt xong, bạn cần kích hoạt dịch vụ cron để nó chạy cùng hệ thống:
sudo systemctl enable cron
sudo systemctl start cron
Cài đặt Crontab trên CentOS / RHEL
Với các hệ điều hành thuộc dòng CentOS hoặc RedHat, bạn có thể sử dụng lệnh sau:
sudo yum install cronie
Sau khi cài đặt, kích hoạt dịch vụ cron:
sudo systemctl enable crond
sudo systemctl start crond
Sau khi hoàn tất các bước trên, bạn đã có thể sử dụng Crontab để tạo và quản lý các cron job trên hệ thống Linux.
Các lệnh crontab thường dùng
Trong quá trình làm việc với Crontab, có một số lệnh cơ bản giúp bạn quản lý các cron job một cách dễ dàng. Những lệnh này cho phép tạo mới, chỉnh sửa, xem hoặc xóa các tác vụ đã được thiết lập trước đó.
Những lệnh này được sử dụng thường xuyên trong quản trị hệ thống vì chúng giúp quản lý cron job nhanh chóng mà không cần truy cập trực tiếp vào file cấu hình trong hệ thống.
Hướng dẫn cách tạo và sử dụng Crontab
Sau khi cài đặt cron thành công, bạn có thể bắt đầu tạo các cron job để tự động hóa các tác vụ trên server. Quá trình thiết lập cron job khá đơn giản và chỉ cần thực hiện theo vài bước cơ bản.
Bước 1: Mở file Crontab
Đầu tiên, bạn mở Terminal và nhập lệnh sau để chỉnh sửa Crontab:
crontab -e
Lệnh này sẽ mở file Crontab trong trình soạn thảo mặc định của hệ thống.
Bước 2: Thêm cron job
Trong file Crontab, bạn cần thêm các dòng lệnh theo cú pháp:
m h dom mon dow command
Trong đó:
- m: phút (0–59)
- h: giờ (0–23)
- dom: ngày trong tháng (1–31)
- mon: tháng (1–12)
- dow: ngày trong tuần (0–7)
- command: lệnh hoặc script cần thực thi
Ví dụ:
0 2 * * * /home/user/backup.sh
Lệnh trên sẽ chạy script backup.sh vào 2 giờ sáng mỗi ngày.
Bước 3: Lưu và thoát
Sau khi thêm cron job, bạn lưu file và thoát khỏi trình soạn thảo. Cron daemon sẽ tự động đọc lại file Crontab và bắt đầu thực thi các tác vụ theo lịch đã thiết lập.
Bước 4: Kiểm tra cron job
Bạn có thể kiểm tra các công việc đã được lên lịch bằng lệnh:
crontab -l
Lệnh này sẽ hiển thị toàn bộ cron job hiện đang được cấu hình cho người dùng.
Các lỗi thường gặp khi dùng crontab là gì?
Cron mạnh nhưng không “dễ chịu” với người mới vì môi trường chạy khác terminal và cron không phải lúc nào cũng hiển thị lỗi rõ ràng. Những lỗi phổ biến nhất thường rơi vào vài nhóm dưới đây.
Cron job không chạy
Nguyên nhân hay gặp là cron daemon đang tắt, lịch viết sai, hoặc lệnh/script không chạy được do thiếu quyền thực thi. Một lỗi khác là dùng đường dẫn tương đối thay vì tuyệt đối, khiến cron không tìm thấy file. Bạn cũng có thể gặp lỗi vì script cần biến môi trường mà terminal có nhưng cron không có.
Sai timezone server
Cron chạy theo timezone của hệ thống. Nếu VPS đặt timezone UTC còn bạn nghĩ theo giờ Việt Nam, job sẽ chạy lệch. Cách xử lý là set timezone đúng trên server, hoặc chủ động tính lịch theo timezone hiện tại. Khi vận hành production, chuyện lệch timezone là lỗi rất “đắt”, đặc biệt với job backup, job gửi báo cáo, hoặc job chạy batch xử lý dữ liệu theo ngày.
Sai quyền file script
Script muốn chạy cần có quyền execute. Bạn phải cấp quyền bằng chmod +x. Ngoài ra, nếu script truy cập file dữ liệu hoặc thư mục, user chạy cron job phải có quyền đọc/ghi phù hợp. Nhiều job fail vì chạy dưới user A nhưng thư mục thuộc user B, hoặc job cần quyền root nhưng lại chạy bằng user thường.
Kết luận
Việc nắm rõ Crontab là gì, hiểu cú pháp cron job, các lệnh crontab thường dùng cũng như cách cài đặt và quản lý cron job sẽ giúp bạn vận hành server hiệu quả hơn. Khi được cấu hình đúng cách, Crontab không chỉ giúp tiết kiệm thời gian mà còn đảm bảo các tác vụ quan trọng luôn được thực hiện đúng lịch trình, góp phần nâng cao độ ổn định và hiệu suất của hệ thống Linux.
Tin liên quan
Lỗi msvcr100.dll là gì? Hướng dẫn cách sửa lỗi msvcr100 dll nhanh chóng
Lỗi msvcr100.dll khiến phần mềm không khởi chạy trên Windows. Xem hướng dẫn khắc phục từng bước để bổ sung thư viện còn thiếu và sửa chữa chương trình bị lỗi.
Top 20 các extension visual studio code hữu ích cho lập trình viên
Các extension Visual Studio Code hữu ích mở rộng khả năng của trình soạn thảo, giúp lập trình viên tối ưu môi trường làm việc và nâng cao hiệu quả viết mã.
Bridge là gì? Cách hoạt động và ứng dụng trong mạng LAN
Bridge là gì? Cầu nối mạng hoạt động dựa trên địa chỉ MAC để kết nối các phân đoạn LAN, kiểm soát luồng dữ liệu và hỗ trợ triển khai mạng vật lý lẫn mạng ảo.
Lỗi Blocked due to other 4xx issue là gì? Nguyên nhân và cách fix lỗi
Lỗi Blocked due to other 4xx issue khiến Google không lập chỉ mục URL, cần xác định đúng mã HTTP và nguyên nhân để khắc phục hiệu quả trong Search Console.
Test case là gì? Cách viết test case và mẫu minh họa cho người mới
Test case là gì và làm sao để viết rõ ràng, đúng yêu cầu? Nắm vững cách xây dựng trường hợp kiểm thử qua ví dụ cụ thể để phát hiện sai lệch trong hoạt động phần mềm.
AI Inference là gì? Cơ chế và vai trò trong vận hành AI
AI inference là gì? Cách mô hình AI tạo kết quả sau huấn luyện, phân biệt với AI training, các hình thức triển khai và ứng dụng thực tế trong doanh nghiệp.
DBeaver là gì? Hướng dẫn cài đặt và kết nối cơ sở dữ liệu với DBeaver
DBeaver là gì? Khám phá tính năng quản lý cơ sở dữ liệu, các phiên bản miễn phí và trả phí cùng hướng dẫn cài đặt, kết nối, chạy truy vấn SQL cho người mới.
Cách thay đổi mật khẩu máy tính trên Windows 10, 11 đơn giản
Cách thay đổi mật khẩu máy tính trên Windows 10, 11 qua Settings, Control Panel, CMD và các công cụ quản trị được hướng dẫn chi tiết theo từng bước dễ thực hiện.
Microsoft Management Console là gì? Cách sử dụng MMC cho người mới
Microsoft Management Console là gì? Đây là nền tảng tập hợp các công cụ quản trị Windows, hỗ trợ quản lý hệ thống, thêm snap-in và lưu console theo nhu cầu sử dụng.
Rủi ro khi sử dụng giả lập online và cách phòng tránh
Rủi ro khi sử dụng giả lập online có thể gây lộ dữ liệu, mất quyền kiểm soát tài khoản, lừa đảo trực tuyến, vi phạm chính sách game, gián đoạn thao tác và phát sinh chi phí.
Bình luận ()