Разберу ещё один объёмный вопрос из собеседований специалистов со знанием Linux, то бишь девопсов и линукс админов. Он хорошо показывает обзорное знание системы, так как затрагивает многие её инструменты.
Как и где посмотреть список регулярно выполняемых заданий в ОС на базе Linux?
📌 Начнём с традиционного cron. Его задания раскиданы по всей системе. Смотреть их надо в:- /etc/crontab
- /etc/cron.d/
- /etc/cron.daily/, /etc/cron.hourly/, /etc/cron.monthly/
Это условно можно отнести к системным файлам конфигурации. Есть ещё пользовательские в /var/spool/cron/crontabs
. Смотреть их можно как напрямую, открывая текстовые файлы, так и командой:# crontab -u user01 -l
У каждого пользователя будет свой файл с задачами.
📌 Переходим к systemd timers. Это сейчас база для современных ОС, так что вполне уместно начинать именно с них. Там сейчас все системные повторяемые задачи, типа logrotate, apt-daily, anacron и т.д. Посмотреть список всех таймеров:# systemctl list-timers --all
Только активных:# systemctl list-timers
Более подробная информация о таймерах:# systemctl status *timer
📌 И ещё один инструмент для запланированных задач — at. Это очень старая утилита для выполнения разовых запланированных задач. Раньше она была частью базовой системы, так как я лично ей пользовался. Проверил в Debian 11 и 12, в системе её уже нет. А, например, в Centos 7 и 8 (форках RHEL) всё ещё есть. В общем, про неё легко забыть, так как мало кто знает и пользуется, но для общего образования знать не помешает. Её могут использовать какие-то зловреды, чтобы добавлять свои задания, потому что там их будут искать в последнюю очередь.
Посмотреть очередь задач at:# atq
Пример добавления задачи на выключение системы:# echo "shutdown -h now" | at -m 10:20
Задачи хранятся в текстовых файлах в директории /var/spool/cron/atjobs/
или /var/spool/at/
. Одно из напрашивающихся применений этой утилиты — разовая задача на восстановление правил firewall через короткий промежуток времени после применения новых. Ставите задачу на восстановление старых правил, применяете новые. Если связь потеряли, через 3 минуты будут восстановлены старые правила. Если всё ОК, то сами отключаете задачу на восстановление.
#linux
>>Click here to continue<<