Computer >> Máy Tính >  >> Hệ thống >> Linux

Cách lập lịch lệnh trong Linux với Tiện ích “at”

Cách lập lịch lệnh trong Linux với Tiện ích “at”

Lần đầu tiên tôi quản lý một máy chủ bận, tôi phải đợi một thời điểm thích hợp để khởi động lại nó khi mọi người không sử dụng nó. Tôi nhận thấy rằng điều này xảy ra vào khoảng 3 giờ sáng. Sau đó, tôi tự nghĩ:"Điều này thật bất tiện, tôi phải thức dậy vào một giờ không hợp lý chỉ để khởi động lại máy chủ của mình." Năm giây sau tôi nhận ra đó là một suy nghĩ ngu ngốc. “Đây là Linux, tôi chắc chắn có thể dễ dàng tự động hóa một tác vụ đơn giản như vậy”. Và vì vậy, at đã được phát hiện.

Tiện ích này rất dễ sử dụng. Bạn chỉ cần chuyển ngày và giờ dưới dạng tham số dòng lệnh, sau đó nhập một hoặc nhiều lệnh bạn muốn nó thực thi.

Trên một máy chủ, rất hữu ích nếu có một chương trình như vậy vì bạn thường muốn nó thực hiện các hành động mà không cần giám sát. Nhưng ngay cả trên máy tính để bàn at có thể là một công cụ rất tiện lợi. Ví dụ:giả sử bạn tải xuống một tệp rất lớn. Bạn có thể lên lịch tắt máy tính vào ban đêm. Ngoài ra, bạn có thể nói với at để nhắc nhở bạn về những việc bạn cần làm. Khá nhiều hành động bạn có thể nghĩ đến đều có thể được lên lịch với các công cụ và tùy chọn dòng lệnh phù hợp.

Cách cài đặt “at” trên nhiều bản phân phối Linux khác nhau

Trên Debian hoặc các bản phân phối dựa trên Debian, hãy chạy:

sudo apt install at

Cách lập lịch lệnh trong Linux với Tiện ích “at”

Trên Fedora, hãy chạy:

sudo dnf install at

Để cài đặt “at” trên Arch Linux:

sudo pacman -S at

Và, trên openSUSE:

sudo zypper install at

Bật Tự động Khởi động Daemon và Chạy Dịch vụ “at”

Một số bản phân phối sẽ tự động cho phép khởi động daemon “at” khi khởi động. Những người khác thì không. Kiểm tra với:

systemctl is-enabled atd.service

Cách lập lịch lệnh trong Linux với Tiện ích “at”

Nếu nó cho biết "đã bị vô hiệu hóa", thì hãy bật nó bằng:

sudo systemctl enable atd.service

Và khởi động daemon:

sudo systemctl start atd.service

Cách chỉ định ngày và giờ để lên lịch cho các lệnh “at”

Bạn có thể sử dụng bất kỳ biểu mẫu nào sau đây.

1. Chạy lệnh sau số phút, giờ, ngày hoặc tuần được chỉ định.

at now + 10 minutes
at now + 10 hours
at now + 10 days
at now + 10 weeks

Cách lập lịch lệnh trong Linux với Tiện ích “at”

2. Chạy vào thời điểm chính xác:

at 23:10

Nếu bây giờ đã là 12:00 và bạn chạy:

at 11:00

Sau đó, lệnh sẽ chạy vào ngày mai, vào thời gian được chỉ định.

3. Chạy vào ngày giờ chính xác:

at 12:00 December 31

Các cách thay thế khác để chỉ định thời gian và ngày tháng có thể được tìm thấy trong hướng dẫn trực tuyến “tại”.

Cách sử dụng lệnh “at”

Như bạn có thể đã nhận thấy, sau khi bạn chỉ định thời gian đã lên lịch, bạn sẽ thấy một lời nhắc giống như hình ảnh sau:

Cách lập lịch lệnh trong Linux với Tiện ích “at”

Tại đây, bạn chỉ cần nhập các lệnh mà bạn muốn chạy. Chúng sẽ thực thi dưới tên người dùng hiện tại của bạn. Nhập lệnh bạn muốn chạy tại một thời điểm xác định và nhấn Enter. Nếu bạn muốn chạy một lệnh tiếp theo, hãy lặp lại quy trình tương tự. Khi bạn hoàn tất, nhấn Ctrl + D . <EOT> sẽ được hiển thị khi bạn nhấn các phím đó, sau đó là thời gian (các) lệnh sẽ được thực thi.

Nếu bạn muốn chạy các lệnh yêu cầu đặc quyền root, không sử dụng sudo . Hãy nhớ rằng, lệnh sẽ chạy mà không cần giám sát, vì vậy sudo sẽ không hoạt động vì không ai có thể nhập mật khẩu. Thay vào đó, trước tiên hãy đăng nhập với tư cách người dùng gốc:

sudo -i

Và sau đó sử dụng lệnh “at” một cách bình thường. Bây giờ, tất cả các lệnh sẽ được thực thi dưới quyền root, thay vì người dùng thông thường của bạn.

Sau khi bạn lập lịch cho lệnh của mình, hãy nhập:

exit

Thao tác này sẽ đăng xuất bạn khỏi tài khoản người dùng gốc.

Cách lập lịch lệnh trong Linux với Tiện ích “at”

Trong ví dụ được cung cấp trong ảnh chụp màn hình này, việc tắt máy được lên lịch sau hai phút. Bạn có thể điều chỉnh điều này cho các mục đích của riêng mình.

Nếu máy tính bị tắt nguồn trước khi công việc đã lên lịch có cơ hội chạy, nó sẽ chỉ chạy ở lần khởi động tiếp theo (nếu thời gian của nó đã trôi qua). Ví dụ:nếu bạn lên lịch công việc lúc 3 giờ chiều, tắt máy lúc 2 giờ chiều và bật nguồn lúc 4 giờ chiều, công việc sẽ chạy lúc 4 giờ chiều.

Xem và / hoặc Xóa công việc đã lên lịch

Bạn có thể xem các công việc đã xếp hàng với:

atq

hoặc

at -l

Cách lập lịch lệnh trong Linux với Tiện ích “at”

Để xem những lệnh nào được lập lịch trong một công việc, hãy sử dụng số tiền tố của công việc đó.

at -c 22

Cách lập lịch lệnh trong Linux với Tiện ích “at”

Các dòng cuối cùng của đầu ra sẽ hiển thị cho bạn các lệnh bạn đã lập lịch.

Để xóa một công việc, hãy sử dụng số tiền tố của nó như sau:

atrm 22

Lập lịch “lúc” để chạy các ứng dụng đồ họa

Trước tiên, hãy tìm ra giá trị biến hiển thị hiện tại của bạn:

echo $DISPLAY

Thông thường, nó sẽ là :0 .

Lên lịch at chạy. Trong lời nhắc “tại”, hãy đặt DISPLAY biến thành giá trị trước đó (export DISPLAY=:0 ), và chạy ứng dụng đồ họa mong muốn của bạn.

Cách lập lịch lệnh trong Linux với Tiện ích “at”

Các lệnh được sử dụng trong ảnh chụp màn hình trước sẽ dẫn đến kết quả sau.

Cách lập lịch lệnh trong Linux với Tiện ích “at”

Giờ đây, ứng dụng đồ họa sẽ ở "khuôn mặt của bạn" và nhắc nhở bạn về một công việc quan trọng tốt hơn so với báo thức qua điện thoại.

Kết luận

Sử dụng “at” rất dễ dàng. Phần khó hơn là tìm ra một cách sáng tạo để thực hiện một hành động mà bạn mong muốn. Nhưng bạn có thể làm bất cứ điều gì bạn muốn, chẳng hạn như bắt đầu tải xuống, đóng chương trình, đặt máy tính của bạn ở chế độ chờ, v.v.