/ / Cách lên lịch cho các công việc một lần trên Linux bằng cách sử dụng tại

Cách lên lịch cho các công việc một lần trên Linux bằng cách sử dụng tại

Quản lý thời gian là một nghệ thuật khó thành thạo. May mắn thay, với sự trợ giúp của công nghệ, bạn có thể tự động hóa và ủy thác các nhiệm vụ thông thường cho máy tính của mình. Không giống như con người, PC rất giỏi trong việc chạy các tác vụ lặp đi lặp lại vào một thời điểm đã định chính xác.


Trên Linux, bạn có thể chạy các tác vụ lặp đi lặp lại bằng các công cụ như cron. Ngoài ra, bạn cũng có thể lên lịch và chạy các tác vụ một lần bằng cách sử dụng tại chỉ huy.


Cài đặt tại trên Linux

Lệnh at không phải là một phần của tiện ích Linux tiêu chuẩn trên hầu hết các bản phân phối. May mắn thay, bạn có thể dễ dàng cài đặt nó bằng trình quản lý gói của mình bất kể bạn đang sử dụng bản phân phối nào.

Trên các hệ thống dựa trên Debian như Ubuntu, MX Linux và Pop!_OS, bạn có thể cài đặt tại bằng cách chạy:

 sudo apt install at 

Nếu bạn đang sử dụng bản phân phối dựa trên RPM như RHEL, Fedora hoặc Rocky Linux, hãy sử dụng DNF để cài đặt gói:

 sudo dnf install at 

Trên các bản phân phối Linux dựa trên Arch như Manjaro, hãy chạy:

 sudo pacman -S at 

Bắt đầu dịch vụ lập lịch công việc atd

Trước khi sử dụng lệnh at, hãy đảm bảo rằng trình nền lập lịch trình atd đang chạy. Đây là những gì tại lệnh sử dụng để thực hiện các công việc theo lịch trình.

 sudo systemctl status atd 
kiểm tra trạng thái của bộ lập lịch thời gian atd

Nếu dịch vụ atd không chạy, bạn có thể khởi động nó bằng:

 sudo systemctl start atd 

Lập lịch tác vụ trên Linux Với tại

Đây là cách bạn có thể lên lịch thực hiện công việc một lần tại một thời điểm nhất định trong tương lai bằng cách sử dụng tại:

 command | at time_stamp 

Ví dụ: chúng ta có thể lên lịch một tác vụ để liệt kê nội dung của thư mục hiện tại của bạn bằng cách sử dụng lệnh ls và ghi đầu ra vào tệp một phút kể từ bây giờ.

Đầu tiên, thay đổi thư mục nhà người dùng của bạn bằng lệnh cd:

 cd ~ 

Sau đó, thực hiện lệnh sau để lên lịch cho tác vụ của bạn:

 ls > list_items.txt | at now + 1 minutes 
lên lịch một công việc đơn giản với tại

Đầu ra sẽ cho biết rằng nhiệm vụ của bạn đã được lên lịch. Sau khi hết thời gian, bạn có thể liệt kê nội dung của thư mục và một tệp văn bản mới có nội dung thư mục sẽ xuất hiện.

Nếu bạn muốn thực hiện lệnh vào trưa mai, hãy chạy:

 ls > list_items.txt | at noon tomorrow 

Để biết thời gian và ngày cụ thể hơn, hãy sử dụng định dạng ngày MMDDHHMM YYYY. Ví dụ: để thực hiện lệnh trước đó vào lúc 1 giờ chiều ngày 25 tháng 12 năm 2023, bạn có thể chạy lệnh:

 ls > list_items.txt | at 12251300 2023 

Lệnh at có nhiều tính năng nâng cao hơn cho phép bạn chạy các lệnh cụ thể vào một thời điểm chính xác. Hãy xem các trang hướng dẫn của nó để biết thêm các tùy chọn lệnh:

 man at 

Tập lệnh lập lịch biểu trên Linux bằng cách sử dụng tại

Ngoài việc chạy các lệnh riêng lẻ, bạn cũng có thể sử dụng lệnh at để lên lịch thực thi các tập lệnh vào những thời điểm đã chỉ định.

Giả sử rằng bạn có một tập lệnh có tên disk_usage.sh, nằm trong thư mục nhà của bạn. Tập lệnh chỉ cần in ra việc sử dụng đĩa cứng thành một tệp văn bản. Đây là kịch bản:

 #!/bin/bash
df -h > disk_usage.txt

Để thực thi tập lệnh này sau 30 phút kể từ bây giờ, bạn chỉ cần chạy lệnh sau:

 at now + 30 minutes -f ~/disk_usage.sh 

Đảm bảo rằng tập lệnh của bạn có thể thực thi được bằng cách cung cấp cho nó chế độ thích hợp. Để làm điều đó, bạn có thể sử dụng lệnh chmod:

 sudo chmod +x disk_usage.sh 

Quản lý các tác vụ đang chờ xử lý trên Linux

Bạn có thể xem các tác vụ đang chờ xử lý bằng lệnh sau:

 atq 
liệt kê công việc với atq

Để xóa một tác vụ đang chờ xử lý, hãy sử dụng định dạng lệnh sau:

 atrm task_number 

Ví dụ: để xóa nhiệm vụ số 12, hãy sử dụng:

 atrm 12 

Tự động hóa các tác vụ lặp lại trên Linux Với tại

Lệnh at là một công cụ mạnh mẽ và linh hoạt để thực thi hoặc chạy các công việc một lần trên PC Linux của bạn. Ngoài ra, bạn có thể sử dụng crontab để tự động hóa tất cả các loại tác vụ, từ công việc đơn giản đến phức tạp.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *