Cách thiết lập công việc Cron trong Debian 10

Tác giả NetworkEngineer, T.M.Một 02, 2021, 10:31:11 SÁNG

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Cách thiết lập công việc Cron trong Debian 10


Crontab là một công cụ Linux quan trọng được sử dụng để lập lịch các tác vụ để các chương trình và tập lệnh có thể được thực thi tại một thời điểm cụ thể.

Trong bài viết này, mình sẽ hướng dẫn bạn cách bạn có thể lên lịch công việc trong Debian 10 và chỉ cho bạn một số ví dụ.

Bạn cần có đặc quyền root trước khi tiếp tục.

1. Cài đặt Cron và Crontab

Trong Debian 10 của mình, cron được cài đặt theo mặc định. Tuy nhiên, nếu nó không được cài đặt trên máy của bạn, hãy chạy một số lệnh sau trên cửa sổ dòng lệnh Terminal với quyền root.

Mã nguồn [Chọn]
$ apt-get update
Mã nguồn [Chọn]
$ apt-get install cron
Để nhận danh sách các công việc cron đã được lên lịch trên máy của bạn, hãy thực hiện các thao tác sau trên cửa sổ dòng lệnh Terminal.

Mã nguồn [Chọn]
$ crontab -l
2. Mở crontab bằng trình soạn thảo văn bản

Để mở crontab bằng trình soạn thảo văn bản, hãy thực hiện lệnh sau với quyền root.

Mã nguồn [Chọn]
$ crontab -e
Ngay sau khi lệnh được thực hiện, bạn sẽ được yêu cầu chọn trình soạn thảo văn bản như thể hiện trong ảnh chụp màn hình sau.

Lệnh crontab -e mở crontab của người dùng hiện đang đăng nhập, đó là người dùng root trong ví dụ của mình. Để mở crontab của người dùng khác, giả sử người dùng 'tom', thêm tùy chọn -u theo sau là tên của người dùng. Thí dụ:

Mã nguồn [Chọn]
$ crontab -e -u tom
3. Cú pháp của crontab

Linux crontab có sáu trường như hình dưới đây.

Mã nguồn [Chọn]
* * * * * /path/to/script.sh
Mỗi trường có ý nghĩa sau.

[Phút] [giờ] [Ngày_tháng_tháng] [Tháng_ngày_tháng_năm] [Ngày_tháng_năm] [lệnh]

  • Phút 0 - 59
  • Giờ 0-23
  • Ngày trong tháng 1 - 31
  • Tháng trong năm 1-12
  • Ngày trong tuần 0-7

4. Các ví dụ cơ bản về một công việc cron

Dưới đây là một số ví dụ về công việc cron.

4.1. Lên lịch thực hiện công việc cron lúc 2 giờ sáng hàng ngày

Mã nguồn [Chọn]
0 2 * * * /bin/sh backup.sh
Công việc cron ở trên sẽ được thực hiện hàng ngày lúc 2 giờ sáng và sẽ chạy một tập lệnh backup.sh. Điều này sẽ duy trì bản sao lưu mỗi ngày.

4.2. Lên lịch một công việc cron để thực hiện hai lần một ngày

Mã nguồn [Chọn]
0 5,17 * * * /scripts/script.sh
Công việc cron trên sẽ được thực hiện lúc 5 giờ sáng và 5 giờ chiều hàng ngày. Nhiều lần có thể được chỉ định với sự trợ giúp của dấu phẩy.

4.3. Lên lịch một công việc cron để thực hiện mỗi phút

Mã nguồn [Chọn]
* * * * * scripts/script.sh
Công việc cron trên sẽ được thực hiện vào mỗi phút.

4.4. Lên lịch thực hiện công việc cron vào 5 giờ chiều Chủ Nhật hàng tuần

Mã nguồn [Chọn]
0 17 * * sun /scripts/script.sh
Công việc cron trên sẽ được thực hiện vào 5 giờ chiều Chủ Nhật hàng tuần. Loại cron này rất hữu ích để thực hiện các nhiệm vụ hàng tuần như xoay vòng nhật ký, v.v.

4.5. Lên lịch một công việc cron để thực hiện cứ sau 10 phút

Nếu bạn muốn công việc của mình thực hiện cứ sau 10 phút, cron cần được cập nhật như sau.

Mã nguồn [Chọn]
*/10 * * * * /scripts/monitor.sh
'*/10' có nghĩa là chạy 10 phút một lần.

4.6. Lên lịch một công việc cron để thực hiện vào những tháng đã chọn

Giả sử bạn muốn thực hiện một cron vào tháng 1, tháng 5 và tháng 8, công việc cron cần được thiết lập như sau.

Mã nguồn [Chọn]
* * * jan,may,aug * /script/script.sh
Một lần nữa, nhiều tháng có thể được chỉ định bằng dấu phẩy.

4.7. Lên lịch một công việc cron để thực hiện vào những ngày đã chọn

Nếu bạn muốn công việc cron của mình được thực hiện vào những ngày đã chọn, giả sử là Chủ nhật và Thứ sáu lúc 5 giờ chiều, nó sẽ giống như sau.

Mã nguồn [Chọn]
0 17 * * sun,fri /script/script.sh
4.8. Lên lịch cho nhiều nhiệm vụ trong một công việc cron duy nhất

Nhiều tập lệnh có thể được chạy trong một tác vụ như sau. Cả hai tập lệnh phải được phân tách bằng dấu chấm phẩy.

Mã nguồn [Chọn]
* * * * * /scripts/script.sh; /scripts/scrit2.sh
4.9. Lên lịch cho một công việc cron chạy cứ sau 30 giây

Để lập lịch cho một công việc cron thực hiện cứ sau 30 giây, chúng ta cần thiết lập hai cron như sau:

Mã nguồn [Chọn]
* * * * * /scripts/script.sh * * * * * sleep 30; /scripts/script.sh
4.10. Lên lịch một công việc cron để thực hiện hai lần vào Chủ nhật và Thứ hai hàng tuần

Nếu bạn muốn lên lịch thực hiện công việc hai lần vào lúc 4 giờ sáng và 5 giờ chiều mỗi Chủ nhật và Thứ hai, cronjob sẽ có dạng như sau:

Mã nguồn [Chọn]
0 4,17 * * sun,mon /scripts/script.sh
Cả hai, giờ và tuần trong ngày đã được phân tách bằng dấu phẩy.

Cảm ơn bạn đã đọc bài viết này về công việc cron. Nếu bạn có kinh nghiệm nào hay thì hãy chia sẻ qua bình luận bên dưới.