Tìm kiếm trang web

Cách tạo và quản lý Cron Jobs trên Linux


Cron là một trong những công cụ hữu ích nhất của Linux và được nhà phát triển yêu thích vì nó cho phép bạn chạy các lệnh tự động vào các khoảng thời gian, ngày và khoảng thời gian cụ thể bằng cách sử dụng cả tập lệnh có mục đích chung và tập lệnh dành riêng cho nhiệm vụ. Dựa trên mô tả đó, bạn có thể tưởng tượng cách quản trị viên hệ thống sử dụng nó để tự động hóa các tác vụ sao lưu, dọn dẹp thư mục, thông báo, v.v.

Các công việc định kỳ chạy ở chế độ nền và liên tục kiểm tra tệp /etc/crontab cũng như /etc/cron.*//var/spool/cron/ thư mục. Các tệp cron không được chỉnh sửa trực tiếp và mỗi người dùng có một crontab duy nhất.

Vậy bạn phải tạo và chỉnh sửa các công việc định kỳ như thế nào? Với lệnh crontab. Crontab là phương pháp bạn sử dụng để tạo, chỉnh sửa, cài đặt, gỡ cài đặt và liệt kê các công việc định kỳ.

Lệnh tạo và chỉnh sửa cron jobs giống nhau và đơn giản. Và điều thú vị hơn nữa là bạn không cần phải khởi động lại cron sau khi tạo tệp mới hoặc chỉnh sửa tệp hiện có.


crontab -e

Cú pháp cron

Cũng giống như bất kỳ ngôn ngữ nào, làm việc với cron sẽ dễ dàng hơn rất nhiều khi bạn hiểu cú pháp của nó và có 2 định dạng bạn nên biết:


A B C D E USERNAME /path/to/command arg1 arg2
OR
A B C D E USERNAME /root/backup.sh

Giải thích cú pháp cron trên:

  • A: Phút phạm vi: 0 – 59
  • B: Phạm vi giờ: 0 – 23
  • C: Phạm vi ngày: 0 – 31
  • D: Phạm vi tháng: 0 – 12
  • E: Các ngày trong tuần phạm vi: 0 – 7. Bắt đầu từ thứ Hai, 0 hoặc 7 tượng trưng cho Chủ Nhật
  • TÊN NGƯỜI DÙNG: thay thế tên này bằng tên người dùng của bạn
  • /path/to/command – Tên của tập lệnh hoặc lệnh bạn muốn lên lịch

Đó chưa phải là tất cả. Cron sử dụng 3 ký hiệu toán tử cho phép bạn chỉ định nhiều giá trị trong một trường:

  1. Dấu hoa thị (*): chỉ định tất cả các giá trị có thể có cho một trường
  2. Dấu phẩy (,): chỉ định danh sách các giá trị
  3. Dấu gạch ngang (-): chỉ định một phạm vi giá trị
  4. Dấu phân cách (/): chỉ định giá trị bước

Bây giờ bạn đã biết cú pháp và toán tử của Cron, hãy xem một số ví dụ về cron.

Ví dụ về công việc Cron

Bước đầu tiên để chạy lệnh cron là cài đặt crontab của bạn bằng lệnh:


crontab -e

Chạy /root/backup.sh lúc 3 giờ sáng hàng ngày:


0 3 * * * /root/backup.sh

Chạy script.sh lúc 4:30 chiều vào ngày thứ hai hàng tháng:

30 16 2 * * /path/to/script.sh

Chạy /scripts/phpscript.php lúc 10 giờ tối trong tuần:

0 22 * * 1-5 /scripts/phpscript.php

Chạy perlscript.pl lúc 23 phút sau nửa đêm, 2 giờ sáng và 4 giờ sáng hàng ngày:

23 0-23/2 * * * /path/to/perlscript.pl

Chạy lệnh Linux lúc 04:05 Chủ Nhật hàng tuần:

5 4 * * sun /path/to/linuxcommand

Tùy chọn định kỳ

Liệt kê các công việc định kỳ.


crontab -l
OR
crontab -u username -l

Xóa tất cả công việc crontab.

crontab -r

Xóa công việc Cron cho một người dùng cụ thể.


crontab -r -u username

Chuỗi trong Crontab

Chuỗi là một trong những thứ yêu thích của nhà phát triển vì chúng giúp tiết kiệm thời gian bằng cách loại bỏ việc viết lặp đi lặp lại. Cron có các chuỗi cụ thể mà bạn có thể sử dụng để tạo lệnh nhanh hơn:

  1. @hourly: Chạy một lần mỗi giờ, tức là “0 * * * *
  2. @midnight: Chạy một lần mỗi ngày, tức là “0 0 * * *
  3. @daily: giống như nửa đêm
  4. @weekly: Chạy một lần mỗi tuần, tức là “0 0 * * 0
  5. @monthly: Chạy một lần mỗi tháng, tức là “0 0 1 * *
  6. @annual: Chạy một lần mỗi năm, tức là “0 0 1 1 *
  7. @yearly: giống như @annually
  8. @reboot: Chạy một lần mỗi lần khởi động

Ví dụ: đây là cách sao lưu hệ thống của bạn hàng ngày:

@daily /path/to/backup/script.sh

Tại thời điểm này, bạn có tất cả những gì cần thiết để tạo và quản lý tác vụ hệ thống bằng Cron. Bây giờ bạn có thể bắt đầu thiết lập và duy trì một số môi trường bằng cách sử dụng các lệnh đã lên lịch.

Bạn là người dùng Cron đến mức nào? Và có chi tiết nào bạn có thể đóng góp cho bài viết không? Hộp thảo luận ở bên dưới.

Khi bạn hiểu đủ về cách hoạt động của Crontab, bạn có thể sử dụng các tiện ích tạo Crontab tiện lợi này để tạo dòng crontab miễn phí.

Ngoài ra, bạn có thể đọc bài viết của Ubuntu về cách sử dụng Cron tại đây. Nó có các tài nguyên mà bạn có thể thấy hữu ích.