Как и где посмотреть список регулярно выполняемых заданий в ОС на базе 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