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 nổi bật
Tin liên quan
Trigger là gì trong DBMS? Cách hoạt động, các loại phổ biến và ứng dụng
Trigger là gì trong DBMS? Tìm hiểu cách trigger hoạt động, các loại phổ biến, ví dụ minh họa, ưu nhược điểm và khi nào nên sử dụng.
Figma là gì? Nền tảng thiết kế và cộng tác trực tuyến
Figma là gì, có những tính năng nổi bật nào? Tìm hiểu Vector Network, Auto Layout, Dev Mode và vị thế hiện tại của Figma trong ngành thiết kế.
Camera Cloud cần tốc độ mạng bao nhiêu? Cách tính băng thông cần thiết
Camera Cloud cần tốc độ mạng bao nhiêu? Tìm hiểu mức băng thông cần thiết, cách tính upload và các yếu tố ảnh hưởng đến tốc độ khi sử dụng Camera Cloud.
Camera Cloud có bị hack không? Nguyên nhân và cách bảo mật
Camera Cloud có bị hack không? Tìm hiểu các rủi ro bảo mật, nguyên nhân bị xâm nhập và cách bảo vệ camera, tài khoản cùng dữ liệu hiệu quả.
Viettel IDC: Nhà cung cấp VMware Sovereign Cloud duy nhất tại Đông Nam Á
Tại VMware Explore 2026 ở Las Vegas, Broadcom đã giới thiệu nhóm 57 nhà cung cấp dịch vụ đám mây chủ quyền trên nền tảng VMware Cloud Foundation. Viettel IDC là đơn vị duy nhất tại Đông Nam Á có tên trong danh sách này, đánh dấu bước tiến mới của doanh nghiệp Việt Nam trên thị trường hạ tầng cloud khu vực.
Ghidra là gì? Chức năng và ứng dụng trong reverse engineering
Ghidra là gì? Tìm hiểu công cụ reverse engineering mã nguồn mở của NSA, các chức năng chính, ứng dụng thực tế và điểm khác biệt với IDA Pro.
10 công cụ tối ưu hóa website theo từng mục tiêu
Tổng hợp 10 công cụ tối ưu hóa web cho tốc độ, SEO, trải nghiệm người dùng và chuyển đổi, kèm bảng so sánh và gợi ý lựa chọn theo nhu cầu.
So sánh WHOIS và DNS Lookup: Điểm khác nhau và khi nào nên sử dụng
WHOIS và DNS Lookup khác nhau thế nào? Tìm hiểu định nghĩa, bảng so sánh, vai trò của RDAP thay thế WHOIS, và khi nào nên dùng công cụ nào.
Cách test tải hệ thống: Quy trình và công cụ phổ biến
Cách test tải hệ thống hiệu quả gồm những bước nào? Tìm hiểu quy trình, chỉ số cần đo và công cụ phổ biến như JMeter, k6.
Cloud Monitoring là gì? So sánh Hybrid Cloud và Multi Cloud Monitoring
Cloud Monitoring là quá trình theo dõi, quản lý và đánh giá hiệu suất của các tài nguyên và dịch vụ đám mây, bao gồm giám sát máy chủ, cơ sở dữ liệu, ứng dụng và hệ thống mạng
Bình luận ()