tgoop.com/srv_admin/1307
Last Update:
В мире Unix и Linux существует полезная утилита at, о которой многие даже не слышали. Я редко где-то вижу, чтобы её использовали. Сам я с ней знаком еще со времён Freebsd. Это планировщик наподобие cron, используется только для разовых задач.
Например, с помощью at можно запланировать откат правил фаервола через 5 минут, если что-то пошло не так. Именно для этой задачи я с at и познакомился, пока не узнал, что в Freebsd есть встроенный скрипт change_rules.sh для безопасной настройки правил ipfw.
Для того, чтобы планировщик at работал, должен быть запущен демон atd. Проверить можно через systemd:# systemctl status atd
Создание задания на выполнение в 20:07:# at 20:07
Дальше откроется простая оболочка, где можно ввести текст. Напишите команду, которую хотите выполнить:at> /usr/bin/echo "Hello" > /tmp/hello.txt
Затем нажмите ctrl+shift+d для сохранения задания. Получите об этом информацию:at> <EOT>
job 6 at Wed Oct 20 20:07:00 2021
Можно автоматом создать эту же задачу одной командой через pipe:echo '/usr/bin/echo "Hello" > /tmp/hello.txt' | at 20:55
Посмотреть очередь задач можно так:# atq
Подробности задачи:# at -c 7
Удалить задачу:# atrm 7
Когда будете писать команды, используйте полные пути к бинарникам, чтобы не было проблем с несуществующим path. Лог выполненных команд можно посмотреть там же, куда стекаются логи cron. По крайней мере в Centos.
Утилиту at любят использовать всякие зловреды, чтобы маскировать свою деятельность. Про cron все знают и помнят, поэтому сразу туда идут проверять подозрительную активность. А вместо этого вирус может насоздавать кучу задач at, которые не сразу догадаются посмотреть.
Я, когда подключаюсь к незнакомым серверам, чаще всего сразу проверяю очередь заданий atq. Мало ли, какие там сюрпризы могут быть.
С помощью файлов /etc/at.allow и /etc/at.deny можно ограничивать список пользователей, которым разрешено использовать at.
#terminal
BY ServerAdmin.ru

Share with your friend now:
tgoop.com/srv_admin/1307