Cách lên lịch một công việc Crontab cho mỗi giờ

Tác giả Network Engineer, T.Một 01, 2022, 08:53:04 CHIỀU

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

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

Cách lên lịch một công việc Crontab cho mỗi giờ


Hầu hết người dùng Linux đều quen thuộc với bộ lập lịch công việc Crontab, nó hoạt động như một daemon im lặng thực hiện tất cả các tác vụ được giao cho nó một cách tự động mà không cần bất kỳ sự can thiệp nào của con người. Bộ lập lịch công việc này làm cho cuộc sống của người dùng Linux dễ dàng hơn nhiều, vì người dùng có thể giao tất cả các tác vụ thường xuyên xảy ra cho bộ lập lịch Crontab để các tác vụ này có thể được thực thi tự động theo một lịch trình cụ thể.

Đôi khi, bạn có thể muốn thực hiện một nhiệm vụ cụ thể mỗi giờ một lần. Đây có thể là một nhiệm vụ cực kỳ khó khăn đối với người dùng nếu tác vụ được thực hiện theo cách thủ công, vì người dùng sẽ phải có mặt hàng giờ để thực hiện tác vụ đó. Nếu nhiệm vụ cực kỳ quan trọng và bằng cách nào đó người dùng bỏ lỡ thời gian để thực hiện nó, điều này có thể dẫn đến hậu quả nghiêm trọng.

Bộ lập lịch công việc Crontab có thể là một may mắn trong những tình huống như vậy. Với Crontab, bạn có thể thêm các tác vụ vào tập tin Crontab để được thực thi như một công việc tại những thời điểm cụ thể. Bài viết này sẽ hướng dẫn bạn cách lên lịch công việc Crontab xảy ra mỗi giờ một lần trong Linux Mint 20.

1. Phương pháp lập lịch công việc Crontab cho mỗi giờ

Để lên lịch công việc crontab xảy ra mỗi giờ một lần trong Linux Mint 20, hãy làm theo các bước được liệt kê bên dưới.

Bước 1: Tạo công việc để lên lịch làm công việc Crontab

Đầu tiên, mình sẽ xác định một tác vụ mà mình muốn chạy như một công việc Crontab mỗi giờ một lần. Tác vụ này có thể là bất cứ thứ gì, từ tạo bản sao lưu đến chạy một tập lệnh bash đơn giản.

Trong ví dụ này, mình sẽ tạo một tập lệnh bash sẽ chạy mỗi giờ. Chúng ta sẽ tạo một tập tin bash trong thư mục /home của mình và thêm một tập lệnh để in một thông báo ngẫu nhiên trong cửa sổ dòng lệnh Terminal trong tập tin bash này, như thể hiện trong hình sau. Sau đó, chúng ta sẽ chỉ cần lưu tập tin này và đóng nó. Chúng ta sẽ xác định công việc để tập lệnh bash này được thực thi mỗi giờ.


Bước 2: Khởi động dịch vụ Crontab

Như bạn có thể thấy trong ảnh chụp màn hình bên dưới, chúng ta đã khởi chạy một cửa sổ dòng lệnh Terminal mới trước khi khởi động dịch vụ crontab mới.

Trước khi thêm tập lệnh này như một công việc vào tập tin Crontab, trước tiên chúng ta cần khởi động dịch vụ Crontab, việc này có thể được thực hiện bằng cách thực hiện lệnh sau:

Mã nguồn [Chọn]
$ sudo systemctl start cron

Chạy lệnh này sẽ khởi động dịch vụ Crontab ngay lập tức mà không hiển thị bất kỳ đầu ra nào trên cửa sổ dòng lệnh Terminal.

Bước 3: Kiểm tra trạng thái của dịch vụ Crontab

Mặc dù lệnh trên tự động khởi động dịch vụ Crontab, bạn có thể kiểm tra dịch vụ Crontab trước khi tiếp tục bằng cách xác minh trạng thái của nó thông qua lệnh sau:

Mã nguồn [Chọn]
$ sudo systemctl status cron

Nếu dịch vụ Crontab đã khởi động thành công, thì việc chạy lệnh trên sẽ hiển thị cho bạn trạng thái "Active (Running)", như thể hiện trong hình dưới đây. Trạng thái này sẽ xác nhận rằng dịch vụ Crontab đang chạy chính xác.


Bước 4: Khởi chạy tập tin Crontab

Khi bạn đã xác nhận rằng dịch vụ Crontab đang chạy bình thường, bạn có thể mở tập tin Crontab để thêm công việc mong muốn vào đó, được lên lịch hàng giờ. Tập tin Crontab có thể được mở bằng cách chạy lệnh sau trong terminal:

Mã nguồn [Chọn]
$ crontab –e

Lệnh này sẽ mở tập tin Crontab trong cửa sổ dòng lệnh Terminal.

Bước 5: Thêm nhiệm vụ vào tập tin Crontab để được thực hiện mỗi giờ

Khi tập tin Crontab được mở, bạn sẽ cần nhấn Ctrl + O để chỉnh sửa nó. Tiếp theo, thêm dòng được đánh dấu trong hình ảnh sau vào tập tin Crontab của bạn.

Trong dòng này, tham số "0 * * * *" sẽ yêu cầu trình nền Cron thực hiện công việc mỗi giờ một lần.

Chúng ta sẽ viết đường dẫn của tập tin bash của mình trong dòng này để trình nền Cron có thể dễ dàng truy cập tập tin bash bất cứ khi nào công việc được thực thi.

Theo cách tương tự, bạn cũng có thể thêm bất kỳ lệnh nào khác mà bạn muốn thực hiện hàng giờ thay vì đưa ra đường dẫn tập tin. Sau khi thêm dòng này, bạn có thể lưu tập tin này và đóng nó.


Sau khi bạn đóng tập tin này, trình nền Cron sẽ tự động cài đặt Crontab mới, như thể hiện trong hình dưới đây. Bằng cách này, bạn không phải nói rõ ràng với hệ thống của mình rằng bạn đã thêm công việc Crontab mới vào tập tin Crontab vì bản thân trình nền Cron thực hiện công việc này bất cứ khi nào bạn thực hiện bất kỳ sửa đổi nào đối với tập tin. Khi tập tin Crontab mới đã được cài đặt, công việc sẽ được thực hiện mỗi giờ.


Trong hướng dẫn này, bạn đã học được một phương pháp đơn giản để lên lịch công việc Crontab mỗi giờ. Trong ví dụ được thảo luận trong bài viết này, chúng ta đã tạo một công việc Crontab để tập tin bash được thực thi mỗi giờ. Bạn có thể tạo bất kỳ tác vụ nào khác sẽ được thực hiện mỗi giờ như một công việc Crontab bằng cách làm theo cùng một quy trình.

Hơn nữa, nếu bạn muốn công việc Crontab của mình được thực hiện tại một thời điểm cụ thể trong giờ, ví dụ: lúc 10:30, sau đó là 11:30, v.v., thì bạn có thể thực hiện việc này bằng cách thay đổi trường phút "0" thành "30". Bằng cách này, bạn có thể chơi nhiều thứ hơn với việc lên lịch công việc bằng cách sử dụng daemon Cron.