Hướng Dẫn Sử Dụng Crontab Trên Linux: Lên Lịch Tác Vụ Tự Động Hiệu Quả

Hướng Dẫn Sử Dụng Crontab Trên Linux

Mỗi người dùng, cũng như quản trị viên hệ thống Linux, thường cần thực hiện một số chương trình tự động theo lịch trình định kỳ.

Ví dụ, một quản trị viên có thể cần theo dõi mức sử dụng đĩa của hệ thống. Trong trường hợp đó, bộ lập lịch cron là công cụ hữu ích để đạt được mục tiêu này.

Để quản lý tác vụ tự động với Crontab trên Linux, bạn cần một môi trường server ổn định. Hãy khám phá dịch vụ mua VPS tại danh mục VPS của chúng tôi để sở hữu máy chủ mạnh mẽ, hỗ trợ tối ưu cho việc triển khai các tác vụ tự động hóa hiệu quả.

Giả sử quản trị viên cần thực thi script /usr/local/sbin/backup.sh vào mỗi Chủ Nhật lúc 2:36 sáng. Trong trường hợp này, quản trị viên sẽ chỉnh sửa file crontab của mình như hình minh họa dưới đây:

$ sudo crontab -e

Định dạng của một dòng trong crontab rất đơn giản vì nó được chia thành 7 trường, cách nhau bằng dấu cách hoặc tab. Trường thứ 6, trong trường hợp này là tên người dùng, có thể bị bỏ qua vì chỉ được sử dụng bởi bộ lập lịch crontab toàn hệ thống.

Dưới đây là một số ví dụ cơ bản khác về crontab:

Dòng crontab Mô tả
*/5 * * * * Thực thi công việc crontab mỗi 5 phút
0 * * * * Thực thi công việc crontab mỗi giờ
0 0 * * * Thực thi công việc crontab hàng ngày vào 00:00 giờ

Cách chỉnh sửa nhiệm vụ của bộ lập lịch crontab

Người dùng có thể chỉnh sửa các nhiệm vụ crontab của mình bằng cách nhập lệnh sau:

$ crontab -u foobar -e

Lệnh trên sẽ mở file cấu hình crontab cá nhân của bạn bằng trình soạn thảo văn bản mặc định. Chỉ cần thực hiện các thay đổi và lưu file. Không cần khởi động lại crontab vì các thay đổi sẽ được áp dụng tự động.

Để liệt kê các nhiệm vụ crontab của bạn, hãy nhập:

$ crontab -l

Cuối cùng, nếu bạn cần xóa bỏ các nhiệm vụ crontab của mình, hãy thực thi lệnh dưới đây. Lưu ý rằng lệnh này sẽ xóa tất cả các dòng trong crontab của bạn:

$ crontab -r

Bộ lập lịch crontab toàn hệ thống

Nhiều dịch vụ sử dụng crontab một cách tự động. Chúng lưu trữ cấu hình lập lịch crontab trực tiếp vào thư mục /etc/cron.d. Bất kỳ file nào nằm trong thư mục này đều được bộ lập lịch crontab tự động nhận diện và thực thi.

Quản trị viên hệ thống Linux cũng có thể tận dụng các thư mục cấu hình sẵn của crontab như /etc/cron.daily, /etc/cron.hourly, /etc/cron.monthly/etc/cron.weekly.

Các file crontab nằm trong những thư mục này sẽ được quét định kỳ và thực thi bởi bộ lập lịch crontab. Ví dụ, các file trong thư mục /etc/cron.daily được thực thi hàng ngày. Hơn nữa, nếu root muốn chạy ví dụ script backup.sh một lần mỗi tuần, script đó sẽ được đặt vào thư mục /etc/cron.weekly.

Một số ví dụ bổ sung về crontab

Ví dụ crontab 1

Ví dụ về crontab để chạy lệnh updatedb vào phút thứ 35 của mỗi giờ:

35 * * * * updatedb

Ví dụ crontab 2

Ví dụ về crontab để thực thi /usr/local/bin/diskusage.sh lúc 14:00 vào ngày 10 của các tháng 3, 6, 9 và 12:

00 14 10 3,6,9,12 * /usr/local/bin/diskusage.sh

Ví dụ crontab 3

Ví dụ về crontab để chạy /usr/local/bin/diskusage.sh lúc 1:25 AM và 1:50 AM vào mỗi thứ Ba và vào ngày 15 hàng tháng:

25,50 1 15 * 2 /usr/local/bin/diskusage.sh

Ví dụ crontab 4

Ví dụ về crontab để chạy /usr/local/bin/diskusage.sh lúc 21:00 mỗi thứ Hai, thứ Tư và thứ Sáu. Lưu ý rằng việc sử dụng tên của các ngày trong tuần và tháng là mở rộng của một số phiên bản crontab:

00 21 * * Mon,Wed,Fri /usr/local/bin/diskusage.sh

Ví dụ crontab 5

Ví dụ về crontab sau thực thi /usr/local/bin/diskusage.sh mỗi 5 phút trong suốt 5 ngày làm việc (Thứ Hai – Thứ Sáu), hàng tuần và hàng tháng:

*/5 * * * 1-5 /usr/local/bin/diskusage.sh

Ví dụ crontab 6

Ví dụ về crontab để chạy script /usr/local/bin/diskusage.sh vào mỗi phút của mỗi 4 giờ vào Chủ Nhật:

* */4 * * sun /usr/local/bin/diskusage.sh

Khi thiết lập Crontab, một VPS đáng tin cậy là yếu tố then chốt. Tìm hiểu ngay danh mục thuê VPS giá rẻ của chúng tôi để trải nghiệm dịch vụ chất lượng cao, chi phí hợp lý, giúp bạn dễ dàng tự động hóa các tác vụ trên Linux.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *