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
vMaaS cập nhật thêm mô hình AI mới - Một API, nhiều mô hình lựa chọn linh hoạt, chi phí không đổi
Viettel Model as a Service (vMaaS) cập nhật thêm Gemma 3, Qwen3-VL và Llama Nemotron, đồng thời hỗ trợ thêm hơn 40 mô hình AI theo nhu cầu. Tìm hiểu cách chọn mô hình phù hợp qua một API.
Thông báo về việc tổ chức đấu giá tài sản thanh lý tháng 10/2026
Công ty Cổ phần Viettel – CHT thông báo về việc đấu giá đối với danh mục tài sản: Tài sản thanh lý bao gồm: Lô 1 - Bình ắc quy + Lô 2 - Tủ Rack và thiết bị cơ điện.
So sánh IDS và IPS: Sự khác biệt và cách lựa chọn phù hợp
So sánh IDS và IPS giúp doanh nghiệp hiểu rõ cách hai giải pháp phát hiện, ngăn chặn xâm nhập và lựa chọn phương án bảo vệ hệ thống mạng phù hợp.
NVMe Hosting là gì? Ưu điểm, so sánh và cách lựa chọn
NVMe Hosting là gì? Tìm hiểu ưu điểm, so sánh với SSD SATA và HDD, cùng cách lựa chọn hosting phù hợp để tối ưu hiệu năng website.
Sự khác biệt giữa các dịch vụ hosting của Việt Nam với quốc tế
Tìm hiểu sự khác biệt giữa các dịch vụ hosting của Việt Nam với quốc tế về tốc độ, chi phí, công nghệ và hỗ trợ kỹ thuật để chọn giải pháp phù hợp.
So sánh dịch vụ hosting tại Viettel IDC với những nhà cung cấp khác: Nên chọn bên nào?
So sánh dịch vụ hosting tại Viettel IDC với những nhà cung cấp khác về giá, cấu hình, hiệu năng và bảo mật để chọn giải pháp phù hợp cho doanh nghiệp.
Những nền tảng điện toán đám mây nào phù hợp nhất cho doanh nghiệp nhỏ? Cách lựa chọn hiệu quả
Những nền tảng điện toán đám mây nào phù hợp cho doanh nghiệp nhỏ? Tìm hiểu các lựa chọn phổ biến và tiêu chí chọn nền tảng phù hợp.
Cách chọn máy chủ phù hợp cho website nhỏ tại Việt Nam: Từ cấu hình đến chi phí
Cách chọn máy chủ phù hợp cho website nhỏ tại Việt Nam dựa trên cấu hình, nhu cầu sử dụng, chi phí và khả năng mở rộng.
Những yếu tố quan trọng khi lựa chọn dịch vụ Cloud Database để đảm bảo khả năng mở rộng và độ tin cậy
Những yếu tố quan trọng khi lựa chọn dịch vụ Cloud Database giúp doanh nghiệp đảm bảo khả năng mở rộng, hiệu năng và độ tin cậy cho hệ thống.
Lỗi SQL Server Setup failed: Nguyên nhân và cách khắc phục
Lỗi SQL Server Setup failed do đâu? Tìm hiểu nguyên nhân, cách kiểm tra và khắc phục lỗi để cài đặt SQL Server thành công.
Bình luận ()