Cách thiết lập công việc định kỳ trong Linux

Cach Thiet Lap Cong Viec Dinh Ky Trong Linux



Cron là một công cụ lập lịch công việc dựa trên thời gian cho phép bạn lên lịch các tác vụ và chạy tập lệnh định kỳ vào một thời gian, ngày hoặc khoảng thời gian cố định. Hơn nữa, những nhiệm vụ này được gọi là công việc định kỳ. Với cron jobs, bạn có thể thực hiện hiệu quả các tác vụ lặp đi lặp lại như xóa bộ nhớ đệm, đồng bộ hóa dữ liệu, sao lưu và bảo trì hệ thống, v.v.

Các công việc định kỳ này cũng có các tính năng khác như tự động hóa lệnh, có thể làm giảm đáng kể khả năng xảy ra lỗi của con người. Tuy nhiên, nhiều người dùng Linux gặp phải nhiều vấn đề khi thiết lập cron job. Vì vậy, bài viết này cung cấp các ví dụ về cách thiết lập công việc định kỳ trong Linux.







Cách thiết lập công việc định kỳ

Đầu tiên, bạn phải biết về file crontab để thiết lập cron job trên Linux. Bạn có thể truy cập tệp này để xem thông tin về các công việc định kỳ hiện có và chỉnh sửa nó để giới thiệu những công việc mới. Trước khi trực tiếp mở tệp crontab, hãy sử dụng lệnh bên dưới để kiểm tra xem hệ thống của bạn có tiện ích cron hay không:





sudo cron danh sách apt

  hiển thị danh sách các crons hiện đang hoạt động





Nếu nó không cung cấp đầu ra như trong hình ảnh đã cho, hãy cài đặt cron bằng cách sử dụng:



sudo cài đặt apt-get cron -Và

Bây giờ, hãy xác minh rằng dịch vụ cron đang hoạt động bằng cách sử dụng lệnh như sau:

trạng thái cron dịch vụ

  kiểm tra trạng thái dịch vụ cron

Khi bạn đã hoàn tất, hãy chỉnh sửa crontab để bắt đầu một công việc định kỳ mới:

crontab -Nó là

Hệ thống sẽ yêu cầu bạn chọn một trình soạn thảo văn bản cụ thể. Ví dụ: chúng tôi sử dụng trình chỉnh sửa nano bằng cách nhập '1' làm đầu vào. Tuy nhiên, bạn có thể chọn bất kỳ trình chỉnh sửa nào vì yếu tố ảnh hưởng đến công việc định kỳ là định dạng của nó, điều này chúng tôi sẽ giải thích trong các bước tiếp theo.

Sau khi chọn trình chỉnh sửa, tệp crontab sẽ mở trong cửa sổ mới với các hướng dẫn cơ bản hiển thị ở trên cùng.

  hướng dẫn của cron-job

Cuối cùng, nối thêm biểu thức crontab sau vào tệp:

* * * * * / con đường / kịch bản

Ở đây, mỗi dấu hoa thị(*) tương ứng cho biết phút, giờ, hàng ngày, hàng tuần và hàng tháng. Điều này xác định mọi khía cạnh của thời gian để cron job có thể thực thi suôn sẻ vào thời gian đã lên lịch. Hơn nữa, thay thế các thuật ngữ đường dẫn và tập lệnh bằng đường dẫn chứa tập lệnh đích và tên tập lệnh tương ứng.

Định dạng thời gian để lên lịch công việc định kỳ

Vì định dạng thời gian được thảo luận trong lệnh trên có thể gây nhầm lẫn, hãy thảo luận ngắn gọn về định dạng của nó:

  1. bên trong Phút trường, bạn có thể nhập các giá trị trong phạm vi 0-59, trong đó 0 và 59 biểu thị số phút hiển thị trên đồng hồ. Đối với số đầu vào, chẳng hạn như 9, công việc sẽ chạy vào phút thứ 9 mỗi giờ.
  2. Giờ , bạn có thể nhập các giá trị từ 0 đến 23. Ví dụ: giá trị cho 2 giờ chiều sẽ là '14.'
  3. Các Ngày trong tháng có thể ở bất kỳ đâu trong khoảng từ 1 đến 31, trong đó 1 và 31 lại biểu thị Ngày đầu tiên và Ngày cuối cùng của Tháng. Đối với giá trị 17, công việc định kỳ sẽ chạy vào ngày 17 hàng tháng.
  4. Thay cho Tháng , bạn có thể nhập phạm vi từ 1 đến 12, trong đó 1 nghĩa là tháng 1 và 12 nghĩa là tháng 12. Nhiệm vụ sẽ chỉ được thực thi trong Tháng bạn chỉ định ở đây.

Ghi chú: Giá trị '*' có nghĩa là mọi giá trị được chấp nhận. Ví dụ: nếu sử dụng '*' thay cho trường phút thì tác vụ sẽ chạy mỗi phút trong giờ được chỉ định.

Ví dụ: bên dưới là biểu thức để lên lịch một công việc định kỳ vào 9:30 sáng Thứ Ba hàng tuần:

30 9 * * 2 / con đường / kịch bản

Ví dụ: để thiết lập một công việc định kỳ vào lúc 5 giờ chiều vào cuối tuần trong tháng 4:

0 17 * 4 0 , 6 - 7 / con đường / kịch bản

Như lệnh trên minh họa, bạn có thể sử dụng dấu phẩy và dấu gạch ngang để cung cấp nhiều giá trị trong một trường. Vì vậy, phần sắp tới sẽ giải thích cách sử dụng các toán tử khác nhau trong biểu thức crontab.

Toán tử số học cho công việc định kỳ

Bất kể kinh nghiệm của bạn về Linux như thế nào, bạn sẽ thường cần tự động hóa các công việc để chạy hai lần một năm, ba lần một tháng, v.v. Trong trường hợp này, bạn có thể sử dụng toán tử để sửa đổi một công việc định kỳ để chạy vào các thời điểm khác nhau.

  1. Dấu gạch ngang(-): Bạn có thể chỉ định một phạm vi giá trị bằng dấu gạch ngang. Ví dụ: để thiết lập công việc định kỳ từ 12 giờ sáng đến 12 giờ trưa, bạn có thể nhập * 0-12 * * * /path/script.
  2. Dấu gạch chéo(/): Dấu gạch chéo giúp bạn chia các giá trị được chấp nhận của trường thành nhiều giá trị. Ví dụ: để thực hiện một công việc định kỳ hàng quý, bạn sẽ nhập * * * /3 * /path/script.
  3. Dấu phẩy(,) : Dấu phẩy phân tách hai giá trị khác nhau trong một trường đầu vào. Ví dụ: biểu thức cron cho một tác vụ được thực thi vào Thứ Hai và Thứ Tư là * * * * 1,3 /path/script.
  4. Dấu hoa thị(*): Như đã thảo luận ở trên, dấu hoa thị đại diện cho tất cả các giá trị mà trường đầu vào chấp nhận. Điều đó có nghĩa là dấu hoa thị thay cho trường Tháng sẽ lên lịch công việc định kỳ cho mỗi Tháng.

Các lệnh để quản lý Cron Job

Quản lý các công việc định kỳ cũng là một khía cạnh thiết yếu. Do đó, đây là một số lệnh bạn có thể sử dụng để liệt kê, chỉnh sửa và xóa công việc định kỳ:

  1. Tùy chọn l được sử dụng để hiển thị danh sách các công việc định kỳ.
  2. Tùy chọn r loại bỏ tất cả các công việc định kỳ.
  3. Tùy chọn e chỉnh sửa tệp crontab.

Tất cả người dùng hệ thống của bạn đều nhận được các tệp crontab riêng biệt. Tuy nhiên, bạn cũng có thể thực hiện các thao tác trên trên tệp của họ bằng cách thêm tên người dùng của họ vào giữa các lệnh– crontab -u username [options].

Tóm tắt nhanh

Thực hiện các tác vụ lặp đi lặp lại là một quá trình tốn nhiều thời gian và làm giảm hiệu quả của bạn với tư cách là quản trị viên. Công việc định kỳ cho phép bạn tự động hóa các tác vụ như chạy tập lệnh hoặc lệnh tại một thời điểm cụ thể, giảm khối lượng công việc dư thừa. Do đó, bài viết này giải thích một cách toàn diện cách tạo cron job trong Linux. Hơn nữa, chúng tôi đã tóm tắt cách sử dụng hợp lý định dạng thời gian và toán tử số học bằng các ví dụ thích hợp.