Tuyển dụng
Viettel IDC

Crontab là gì? Hướng dẫn cách cài đặt và sử dụng Crontab Linux từ A-Z

09/03/2026

Crontab 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”.

Crontab là gì?

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ác ký hiệu phổ biến

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.

 

Cú pháp crontab

Ý nghĩa

* * * * * /home/user/script.sh

Chạy script mỗi phút

0 * * * * /home/user/script.sh

Chạy vào phút 0 của mỗi giờ

0 2 * * * /home/user/backup.sh

Chạy lúc 2 giờ sáng mỗi ngày

0 3 * * 0 /home/user/backup.sh

Chạy lúc 3 giờ sáng mỗi Chủ nhật

*/10 * * * * /home/user/check.sh

Chạy script mỗi 10 phút

0 9 * * 1-5 /home/user/report.sh

Chạy lúc 9 giờ sáng từ thứ Hai đến thứ Sáu

0 0 1 * * /home/user/monthly.sh

Chạy vào 0 giờ ngày đầu tiên của mỗi tháng

@reboot /home/user/start.sh

Chạy script khi hệ thống khởi động lại

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 đó.

Lệnh

Chức năng

crontab -e

Tạo mới hoặc chỉnh sửa file Crontab

crontab -l

Hiển thị danh sách cron job đã thiết lập

crontab -r

Xóa toàn bộ cron job trong file Crontab

crontab -u username -e

Chỉnh sửa crontab của người dùng khác

crontab -u username -l

Xem cron job của người dùng khá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.

Bước 4: Kiểm tra cron job

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.

 

Bình luận ()

Đăng nhập | Đăng ký
để gửi bình luận
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Xem thêm bình luận

Tin liên quan

05/11/2026

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.

05/11/2026

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ã.

05/11/2026

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.

05/11/2026

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.

05/11/2026

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.

05/11/2026

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.

05/11/2026

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.

05/11/2026

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.

05/11/2026

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.

05/11/2026

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í.