NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
16/09/2024
Lượt xem

Hướng dẫn cách sử dụng lệnh at trong Linux qua 7 ví dụ chi tiết

16/09/2024
12 phút đọc
Lượt xem

Đánh giá

Nếu bạn muốn lên lịch để thực hiện một tác vụ nào đó vào một thời điểm cụ thể trong tương lai, thì lệnh at trong Linux sẽ giúp bạn làm điều đó một cách dễ dàng. Lệnh này có thể hỗ trợ lên lịch chạy các script, backup dữ liệu, gửi email và nhiều hơn nữa. Trong bài viết này, Vietnix sẽ giới thiệu cho bạn chi tiết hơn về 7 ví dụ thực tế về cách sử dụng lệnh at trong Linux.

Lệnh at trong Linux là gì?

Lệnh at trong Linux là một cách thay thế cho trình xây dựng lịch – cron, để lên lịch cho các tác vụ thực hiện một lần. Nghĩa là bạn có thể chỉ định thời gian tùy ý để thực hiện các nhiệm vụ cụ thể. Hơn nữa, bạn có thể liệt kê hoặc xóa các tác vụ đã được lưu cần thực hiện trong tương lai gần. Tuy nhiên, người dùng càn quyền quản lý hệ thống để sử dụng lệnh này. Các lệnh atq, atrmbatch cũng là một phần của lệnh at, cho phép xếp hàng, kiểm tra hoặc xóa, hủy các tác vụ đã lên lịch.

Lệnh at trong Linux
Lệnh at trong Linux

Lệnh at được xem là một dòng lệnh hữu ích giúp bạn thực hiện các tác vụ lưu xóa trên hệ thống của mình. Bạn có thể bắt đầu sử dụng dòng lệnh trên Linux hoặc một số phiên bản tương tự như Ubuntu. Ngoài ra, nếu như bạn là một người mới bắt đầu sử dụng, bạn có thể tham khảo các câu lệnh trong Linux để hiểu rõ hơn chi tiết.

Cú pháp cơ bản của lệnh at

Cú pháp cơ bản của lệnh at như sau:

at [OPTION]... runtime

Lưu ý: Trong cú pháp trên, OPTION được đặt trong dấu ngoặc vuông và theo sau là 3 dấu chấm biểu thị rằng có thể sử dụng nhiều tùy chọn cùng lúc.

7 tùy chọn sử dụng của lệnh at

Bạn có thể dễ dàng tìm thấy thông tin chi tiết về  những tùy chọn của lệnh at bằng cách nhập lệnh man vào terminal:

man at
Tùy chọnCông dụng
-bTùy chọn này sẽ thực hiện các lệnh đã được lên lịch khi hệ thống không quá tải, đây là một cách gọi khác của lệnh batch.
-cHiển thị thông tin chi tiết của công việc đã được chỉ định trên thiết bị đầu cuối.
-fĐọc các công việc từ một file.
-r, -dLệnh này sẽ xóa một công việc đã lên lịch trước đó, nhưng chưa được thực hiện. Bạn cần chỉ định số ID để xác định công việc muốn xóa. Đây là một cách gọi khác của lệnh atrm.
-lHiển thị danh sách tất cả những công việc đã lên lịch trước đó nhưng chưa được thực hiện, tương tự như lệnh atq.
-mGửi email cho người dùng sau khi hoàn thành công việc.
-MKhông gửi thư cho người dùng sau khi hoàn thành công việc.

Lưu ý: Các tùy chọn trong Linux CLI (Giao diện dòng lệnh) đều phân biệt chữ hoa chữ thường, vì vậy bạn cần chú ý tính chính xác trong quá trình sử dụng chúng.

2 bước cài đặt lệnh at trong Linux

Trường hợp lệnh at chưa được cài đặt trên hệ thống,

  • Bước 1: Sử dụng lệnh sudo với cú pháp sau để cài đặt:
sudo apt-get install at
Cài đặt lệnh at trong Linux
Cài đặt lệnh at trong Linux
  • Bước 2: Bạn nhập lệnh sau để kích hoạt dịch vụ atd trên hệ thống:
sudo systemctl enable --now atd
Kích hoạt dịch vụ atd trên hệ thống
Kích hoạt dịch vụ atd trên hệ thống

Lưu ý: atddaemon (chương trình chạy ngầm trong hệ điều hành) lập lịch của lệnh at. Nó cho phép lệnh at thực hiện các công việc vào thời điểm trong tương lai.

Ví dụ 1: Thiết lập thời gian thực hiện công việc vào một thời điểm nhất định

Lệnh at trong Linux thực hiện các tác vụ được chỉ định thời gian bằng cách đọc các lệnh bạn nhập vào từ đầu vào tiêu chuẩn. Ví dụ, bạn muốn lên lịch để thực hiện tác vụ touch file1.txt (Tạo một file rỗng) được thực hiện vào lúc 5:00 sáng cùng ngày, hãy làm theo 2 bước sau:

Bước 1: Mở terminal và chạy lệnh bên dưới:

at 05:00

Bước 2: Bây giờ, bạn hãy đưa lệnh touch vào danh sách công việc cần thực hiện:

touch file1.txt

Bước 3: Cuối cùng, bạn nhấn phím CTRL+D để hoàn tất việc lên lịch.

Thiết lập thời gian thực hiện công việc vào một thời điểm nhất định
Thiết lập thời gian thực hiện công việc vào một thời điểm nhất định

Ví dụ 2: Chuyển hướng một công việc cần thực hiện vào một thời điểm nhất định

Bạn có thể chuyển hướng một lệnh cần thực thi với một công việc trong tương lai vào lệnh at trong Linux. Giả sử, bạn muốn hiển thị một văn bản vào một thời điểm cụ thể, hãy sử dụng lệnh echo sau:

echo "This is a Scheduled echo" | at 05:00 am
Chuyển hướng một công việc cần thực hiện vào một thời điểm nhất định
Chuyển hướng một công việc cần thực hiện vào một thời điểm nhất định

Ví dụ 3: Liệt kê các công việc chế độ đang xử lý bằng lệnh at

Để liệt kê tất cả các công việc đang chờ xử lý, bạn hãy sử dụng lệnh atq hoặc tùy chọn -l cùng với lệnh at. Ví dụ, hãy nhập bất kỳ lệnh nào sau đây vào command prompt:

atq

Hoặc là,

at -l

Bạn có thể thấy tất cả các công việc đang chờ xử lý đều được liệt kê bằng lệnh atq hoặc at -l:

Liệt kê các công việc chế độ đang xử lý bằng lệnh at
Liệt kê các công việc chế độ đang xử lý bằng lệnh at

Ví dụ 4: Xem nội dung công việc được chỉ định bằng lệnh at

Để xem nội dung công việc cụ thể, bạn sử dụng tùy chọn -cID công việc cụ thể. Ví dụ, để hiển thị nội dung của công việc có ID 2, bạn chạy lệnh sau:

at -c 2
Xem nội dung công việc được chỉ định bằng lệnh at
Xem nội dung công việc được chỉ định bằng lệnh at

Ví dụ 5: Đọc nội dung công việc từ một file bằng lệnh at

Để đọc nội dung công việc từ một file, bạn sử dụng tùy chọn -f kết hợp với lệnh at. Ví dụ, bạn có một file có tên là “jobs.txt” để thực hiện các công việc trong file tại thời điểm này hãy sử dụng lệnh bên dưới:

at -f jobs.txt now
Đọc nội dung công việc từ một file
Đọc nội dung công việc từ một file

Ví dụ 6: Lên lịch thực hiện công việc khi hệ thống không bị quá tải

Theo mặc định, tùy chọn -b cho phép thực thi các lệnh khi mức tải trung bình dưới 1.5. Điều này có nghĩa là có một tiến trình đang chạy đầy đủ và một tiến trình khác chỉ chạy một nửa thời gian. Tùy chọn này là một cách gọi khác của lệnh batch. Giả sử, bạn muốn lên lịch công việc “touch file5” (tạo file rỗng) khi mức tải trung bình dưới 1.5, hãy làm theo 3 bước sau:

Bước 1: Bạn mở terminal và nhập bất kỳ lệnh nào sau đây và nhấn Enter:

at -b

Hoặc là,

batch

Bước 2: Tiếp theo, bạn viết lệnh sau đây như một công việc:

touch file5

Bước 3: Cuối cùng, bạn nhấn phím CTRL+D để hoàn tất việc lên lịch.

Lên lịch thực hiện công việc khi hệ thống không bị quá tải
Lên lịch thực hiện công việc khi hệ thống không bị quá tải

Ví dụ 7: Xóa một công việc khỏi danh sách bằng lệnh at

Để xóa một công việc cụ thể khỏi danh sách đã lên lịch, bạn sử dụng ID công việc cùng với các tùy chọn -r hoặc -d. Ngoài ra, bạn có thể atrm kèm với ID công việc cũng sẽ cho ra kết quả tương tự. Ví dụ, bạn muốn xóa công việc có ID 2 bằng lệnh atrm, hãy sử dụng bất kỳ lệnh nào sau đây:

atrm 2

Hoặc là,

at -r 2

Hoặc là,

at -d 2
Xóa một công việc khỏi danh sách bằng lệnh at
Xóa một công việc khỏi danh sách bằng lệnh at

13 thông số chỉ định thời gian cụ thể trong lệnh at

Thông số thời gianCách hiểu
nowThực hiện một công việc ngay lập tức sau khi nhập lệnh.
noonLên lịch cho một công việc được thực hiện vào đúng 12 giờ trưa.
teatimeLên lịch cho một công việc được thực hiện vào đúng 4 giờ chiều.
midnightLên lịch một công việc để thực hiện vào lúc 12 giờ đêm của ngày hôm nay.
Tomorrow Or, now + 1 dayLên lịch công việc theo thời gian là ngày mai hoặc thời điểm bây giờ cộng thêm 1 ngày.
FriThực hiện công việc vào ngày thứ 6. Bạn có thể kết hợp “Fri” với các thông tin khác như giờ, phút để chỉ định một thời điểm cụ thể vào thứ 6.
next week Or, now + 7days Or, next TueCông việc được thực hiện vào tuần sau hoặc thời điểm hiện tại + 7 ngày hoặc thứ 3 tuần sau.
next month Or, now + 1 monthCông việc sẽ được thực hiện vào tháng tiếp theo trong cùng một năm hoặc thời điểm hiện tại cộng thêm 1 tháng (tháng sau).
08:00 Or, 08:00 AM Or, now + 1hourThực hiện lệnh vào 8 giờ sáng của ngày hiện tại hoặc 1 giờ sau khi nhập lệnh.
08:00 PMThời gian thực hiện lệnh là 8 giờ tối.
2:30 PM Feb 23 Or, 2:30 PM 23.02.23Lên lịch một công việc để thực hiện vào lúc 2 giờ 30 phút chiều ngày 23 tháng 2 năm 2023.
now + 30 minutesCông việc được thực thi 30 phút sau khi nhập lệnh.
now + 1 yearLên lịch cho công việc được thực hiện chính xác 1 năm kể từ thời điểm nhập lệnh.

Câu hỏi thường gặp

Có thể sử dụng lệnh at để lên lịch thực thi một lệnh định kỳ không?

Câu trả lời là không. Lệnh at chủ yếu được sử dụng để lên lịch một lệnh thực thi một lần duy nhất tại một thời điểm cụ thể trong tương lai.

Có thể sử dụng lệnh at để gửi email tự động không?

Có thể. 2 cách mà bạn có thể thực hiện tác vụ dòng lệnh với email:
1. Viết một script (tập lệnh) để gửi email
2. Lên lịch thực thi script bằng lệnh at

Lời kết

Bài viết trên đã cung cấp các thông tin tổng quan nhất về lệnh at trong Linux. Bạn có thể thử nghiệm thực hiện với các tùy chọn khác nhau và khám phá thêm những khả năng khác mà lệnh at mang lại chắc chắn sẽ giúp ích rất nhiều cho quá trình thực hiện công việc. Nếu có bất kỳ thắc mắc nào hãy để lại bình luận ngay bên dưới, Vietnix sẽ giải đáp nhanh nhất!

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Banner group
Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

MAXSPEED HOSTING

TĂNG TỐC WEBSITE TOÀN DIỆN

CÔNG NGHỆ ĐỘC QUYỀN

PHẦN CỨNG MẠNH MẼ

HỖ TRỢ 24/7

ĐĂNG KÝ NGAY
Pattern

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

Icon
ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1
Icon
XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG