Тайм-менеджмент — сложное искусство. К счастью, с помощью технологий вы можете автоматизировать и делегировать рутинные задачи своему компьютеру. В отличие от людей, ПК очень хорошо выполняют повторяющиеся задачи в точно установленное время.
В 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
Запуск службы планировщика заданий atd
Прежде чем использовать команду at, убедитесь, что запущен демон планирования atd. Это то, что команда at использует для выполнения запланированных заданий.
sudo systemctl status atd
Если служба 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. Помимо at, вы можете использовать crontab для автоматизации всех видов задач, от простых до сложных.
Насколько знаю сайт Украинский. Респект. Спасибо. линуксоиды за мир.