Bài 19. Làm việc với Crontab

Trong bài viết này, chúng ta sẽ cùng nhau làm việc với "Crontab" trong Linux. Khi chúng ta muốn lập một lịch trình hàng ngày, hàng tuần hoặc hàng tháng để thực hiện một công việc nào đó, thì "Crontab" sẽ giúp bạn làm việc này một cách dễ dàng. Các ứng dụng thực tế có thể kể đến như: sao lưu dữ liệu hàng ngày, chạy cách tác vụ quét bảo mật hoặc "virus" hàng ngày,..

Mục lục:

  1. Chuẩn bị.
  2. Làm việc với Crontab
  3. Lời kết.

1. Chuẩn bị

  • Đã cài đặt máy ảo Ubuntu trên Oracle VM VirtualBox
  • Đã thực hiện thiết lập SSH tới máy chủ Ubuntu, sẵn sàng nhập lệnh

2. Tạo và sử dụng Crontab

- Đầu tiên là các bạn khởi động máy chủ Ubuntu và kết nối với máy chủ thông qua SSH Key như bài trước, ví dụ:

ssh -i ~/.ssh/xboxuser_rsa xboxuser@127.0.0.120

2.1: Hiểu cách vận hành Crontab:

- Cron là một tiến trình "daemon" chạy các tác vụ hoặc công việc được lên lịch ở các khoảng thời gian cụ thể trong Linux.

- CronTab  là một lệnh cho phép người dùng tạo, chỉnh sửa, liệt kê và xóa các tác vụ hoặc công việc được lên lịch trong bảng "Cron".

- Bảng "cron" hoặc "crontab" là một tệp cấu hình chứa một danh sách các lệnh sẽ được thực thi bởi "Cron" tại các khoảng thời gian được lên lịch.

-  Dùng lệnh "crontab -e" để mở bảng Cron trong trình chỉnh sửa văn bản mặc định.

* * * * * command
- - - - -
| | | | |
| | | | ----- Ngày trong tuần (0 - 6) (Chủ nhật = 0)
| | | ------- Tháng (1 - 12)
| | --------- Ngày trong tháng (1 - 31)
| ----------- Giờ (0 - 23)
------------- Phút (0 - 59)

- Ví dụ, để lên lịch một công việc chạy hàng ngày lúc 10:30 PM, sử dụng lệnh sau:

30 22 * * * /đường/dẫn/tới/lệnh

- Sau đó lưu và đóng tệp.

- Sử dụng lệnh "crontab -e" và xóa bản ghi tương ứng với tác vụ mong muốn xóa.

- Sau đó lưu và đóng tệp tin lại.

2.2: Tạo cron job đơn giản

- Tạo script “task.sh” tại thư mục home của user “devops” (thay thế user devops bằng user của bạn trên Linux)

cd ~
touch task.sh

- Thêm nội dung cho tệp “task.sh”, sử dụng editor yêu thích của bạn

date >> /home/devops/data.log
ps aux >> /home/devops/data.log

- Thêm quyền thực thi cho tệp tin

chmod +x /home/devops/task.sh

- Chạy thử và kiểm tra tệp tin “data.log”

/home/devops/task.sh
cat /home/devops/data.log

- Mở crontab

crontab -e

- Thực hiện job mỗi phút 1 lần

* * * * * /home/devops/task.sh

- Lưu tệp tin và thoát

- Chờ đợi kết quả sau mỗi phút

cat /home/devops/data.log

- Xóa crontab

crontab -e

- Mở crontab để chỉnh sửa theo lệnh vim, nano,...

- Sau đó hãy xóa job vừa thêm vào.

- Cuối cùng lưu và thoát khỏi "crontab"

3. Lời kết

- Trong bài viết này, chúng ta đã cùng nhau tìm hiểu về cách sử dụng "Crontab" trong Linux để lên lịch các công việc hoặc tác vụ tự động thực thi theo các khoảng thời gian cụ thể. Chúng ta đã tạo và chỉnh sửa các job trong "Crontab" để thực hiện các nhiệm vụ như sao lưu dữ liệu, quét bảo mật, hoặc các công việc hàng ngày, hàng tuần, hàng tháng.

- Việc hiểu và sử dụng "Crontab"sẽ giúp tối ưu hóa quản lý và tự động hóa các tác vụ trong hệ thống Linux của bạn. Hy vọng bạn đã có thể áp dụng kiến thức này vào các tác vụ của mình một cách hiệu quả.


Tác giả: Đỗ Thiên Giang

Chú ý: Tất cả các bài viết trên TEDU.COM.VN đều thuộc bản quyền TEDU, yêu cầu dẫn nguồn khi trích lại trên website khác.

Lên trên