Jak zaplanować jednorazowe zadania w systemie Linux za pomocą at
Zarządzanie czasem to sztuka trudna do opanowania. Na szczęście z pomocą technologii możesz zautomatyzować i delegować przyziemne zadania na swój komputer. W przeciwieństwie do ludzi, komputery PC bardzo dobrze radzą sobie z wykonywaniem powtarzalnych zadań w ściśle określonym czasie.
W systemie Linux możesz wykonywać powtarzające się zadania za pomocą narzędzi takich jak cron. Ponadto możesz także planować i uruchamiać zadania jednorazowe za pomocą polecenia at .
Instalacja w systemie Linux
Polecenie at nie jest częścią standardowych narzędzi Linuksa w większości dystrybucji. Na szczęście możesz łatwo zainstalować go za pomocą menedżera pakietów, niezależnie od używanej dystrybucji.
W systemach opartych na Debianie, takich jak Ubuntu, MX Linux i Pop!_OS, możesz zainstalować pod adresem, uruchamiając:
sudo apt install at
Jeśli używasz dystrybucji opartej na RPM, takiej jak RHEL, Fedora lub Rocky Linux, użyj DNF, aby zainstalować pakiet:
sudo dnf install at
W dystrybucjach Linuksa opartych na Arch, takich jak Manjaro, uruchom:
sudo pacman -S at
Uruchamianie usługi Harmonogram zadań atd
Przed użyciem polecenia at upewnij się, że demon planowania atd jest uruchomiony. Tego właśnie używa polecenie at do wykonywania zaplanowanych zadań.
sudo systemctl status atd
Jeśli usługa atd nie jest uruchomiona, możesz ją uruchomić, używając:
sudo systemctl start atd
Planowanie zadań w systemie Linux za pomocą at
Oto jak możesz zaplanować jednorazowe zadanie do wykonania w określonym czasie w przyszłości, korzystając z adresu:
command | at time_stamp
Na przykład możemy zaplanować zadanie, aby wyświetlić zawartość twojego bieżącego katalogu za pomocą polecenia ls i zapisać dane wyjściowe do pliku za minutę.
Najpierw przejdź do folderu domowego użytkownika za pomocą polecenia cd:
cd ~
Następnie wykonaj następujące polecenie, aby zaplanować zadanie:
ls > list_items.txt | at now + 1 minutes
Dane wyjściowe poinformują, że zadanie zostało zaplanowane. Po upływie tego czasu możesz wyświetlić zawartość swojego katalogu i powinien pojawić się nowy plik tekstowy z zawartością katalogu.
Jeśli chcesz wykonać polecenie jutro w południe, uruchom:
ls > list_items.txt | at noon tomorrow
Aby uzyskać bardziej szczegółowe godziny i daty, użyj formatu daty MMDDHHMM RRRR . Na przykład, aby wykonać poprzednie polecenie o godzinie 13:00 25 grudnia 2023 r., możesz uruchomić polecenie:
ls > list_items.txt | at 12251300 2023
Polecenie at ma o wiele bardziej zaawansowane funkcje, które pozwalają uruchamiać określone polecenia w określonym czasie. Spójrz na jego strony podręcznika, aby uzyskać więcej opcji poleceń:
man at
Planowanie skryptów w systemie Linux za pomocą at
Oprócz uruchamiania poszczególnych poleceń, możesz także użyć polecenia at do zaplanowania wykonywania skryptów w określonych godzinach.
Załóżmy, że masz skrypt o nazwie disk_usage.sh znajdujący się w twoim folderze domowym. Skrypt po prostu wypisuje użycie dysku twardego do pliku tekstowego. Oto skrypt:
#!/bin/bash
df -h > disk_usage.txt
Aby wykonać ten skrypt za trzydzieści minut, możesz po prostu uruchomić następujące polecenie:
at now + 30 minutes -f ~/disk_usage.sh
Upewnij się, że skrypt jest wykonywalny, nadając mu odpowiedni tryb. Aby to zrobić, możesz użyć polecenia chmod:
sudo chmod +x disk_usage.sh
Zarządzanie oczekującymi zadaniami w systemie Linux
Możesz wyświetlić oczekujące zadania za pomocą następującego polecenia:
atq
Aby usunąć oczekujące zadanie, użyj następującego formatu polecenia:
atrm task_number
Na przykład, aby usunąć zadanie numer 12, użyj:
atrm 12
Zautomatyzuj powtarzalne zadania w systemie Linux za pomocą at
Polecenie at to potężne i wszechstronne narzędzie do wykonywania lub uruchamiania jednorazowych zadań na komputerze z systemem Linux. Oprócz at możesz używać crontaba do automatyzacji wszelkiego rodzaju zadań, od prostych do złożonych zadań.
Dodaj komentarz