Як запланувати одноразові завдання в Linux за допомогою at

Тайм-менеджмент – складне мистецтво. На щастя, за допомогою технологій ви можете автоматизувати та делегувати рутинні завдання своєму комп’ютеру. На відміну від людей, ПК дуже добре виконують завдання, що повторюються, в точно встановлений час.

У Linux можна запускати повторювані завдання за допомогою таких інструментів, як cron. Крім того, ви також можете планувати та запускати одноразові завдання за допомогою команди at.

Встановлення в Linux

Команда at не є частиною стандартних утиліт Linux у більшості дистрибутивів. На щастя, ви можете легко встановити його за допомогою менеджера пакетів, незалежно від того, який дистрибутив ви використовуєте.

У системах на основі Debian, таких як Ubuntu, MX Linux та Pop!_OS, ви можете встановити, виконавши:

sudo apt <span class="hljs-keyword">install</span> <span class="hljs-keyword">at</span>

Якщо ви використовуєте дистрибутив на основі RPM, наприклад, RHEL, Fedora або Rocky Linux, використовуйте DNF для встановлення пакету:

sudo dnf <span class="hljs-keyword">install</span> <span class="hljs-keyword">at</span>

У дистрибутивах Linux на основі Arch, таких як Manjaro, запустіть:

sudo pacman -S at

Запуск служби планувальника завдань тощо

Перш ніж використовувати команду at, переконайтеся, що запущено демон планування та ін. Це те, що команда at використовує для виконання запланованих завдань.

sudo systemctl status atd

Якщо служба тощо не запущена, ви можете запустити її за допомогою:

sudo systemctl <span class="hljs-keyword">start</span> atd

Планування завдань у Linux за допомогою at

Ось як ви можете запланувати виконання одноразового завдання у певний момент часу у майбутньому, використовуючи at:

<span class="hljs-built_in">command</span> | at time_stamp

Наприклад, ми можемо запланувати завдання для виведення списку вмісту вашого поточного каталогу за допомогою команди ls та запису виведення у файл за хвилину.

Спочатку перейдіть до домашньої папки користувача за допомогою команди cd:

<span class="hljs-built_in">cd</span> ~

Потім виконайте наступну команду, щоб запланувати завдання:

ls > list_items.txt | at now + 1 minutes

У висновку буде зазначено, що ваше завдання заплановане. Після закінчення часу ви можете перерахувати вміст вашого каталогу, і має з’явитися новий текстовий файл із вмістом каталогу.

Якщо ви хочете виконати команду завтра опівдні, запустіть:

ls > list_items.txt | at noon tomorrow

Щоб вказати точніший час та дату, використовуйте формат дати MMDDHHMM YYYY. Наприклад, щоб виконати попередню команду о 13:00. 25 грудня 2023 року ви можете запустити команду:

ls > list_items.txt | at 12251300 2023

Команда at має набагато більш просунуті функції, які дозволяють запускати певні команди в точний час. Погляньте на його довідкові сторінки, щоб отримати додаткові параметри команди:

man at

Сценарії планування в Linux з використанням at

 

Крім запуску окремих команд, ви можете використовувати команду at для планування виконання сценаріїв у вказаний час.

Припустимо, у вас є скрипт з ім’ям disk_usage.sh, розташований у вашій домашній папці. Сценарій просто виводить використання жорсткого диска у текстовий файл. Ось сценарій:

<span class="hljs-meta">#!/bin/bash</span>
<span class="hljs-selector-tag">df</span> <span class="hljs-selector-tag">-h</span> > <span class="hljs-selector-tag">disk_usage</span><span class="hljs-selector-class">.txt</span>

Щоб виконати цей скрипт через тридцять хвилин, можна просто запустити наступну команду:

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

Переконайтеся, що ваш скрипт виконується, задавши йому відповідний режим. Для цього ви можете використати команду chmod:

<span class="hljs-selector-tag">sudo</span> <span class="hljs-selector-tag">chmod</span> +<span class="hljs-selector-tag">x</span> <span class="hljs-selector-tag">disk_usage</span><span class="hljs-selector-class">.sh</span>

Управління, які очікують виконання завдань у Linux

Ви можете переглянути відкладені завдання, використовуючи наступну команду:

atq

Щоб видалити відкладене завдання, використовуйте наступний формат команди:

atrm task_number

Наприклад, щоб видалити завдання номер 12, використовуйте:

atrm 12

Автоматизуйте повторювані завдання в Linux за допомогою at

Команда at – це потужний та універсальний інструмент для виконання одноразових завдань на вашому ПК із Linux. Крім того, ви можете використовувати crontab для автоматизації всіх видів завдань, від простих до складних.

Поділіться своєю знахідкою

Залишити відповідь

1 Комментарий
Новіші
Старіші Найпопулярніші
Вбудовані Відгуки
Переглянути всі коментарі
Михаил

Насколько знаю сайт Украинский. Респект. Спасибо. линуксоиды за мир.

1
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x