Intereting Posts
Сравнение двух отдельных каталогов для каталогов и файлов внутри Как предоставить rwe разрешения для root, admin и user1; в каталоге, где все файлы и папки принадлежат пользователю1 (rwe) Как создать точку доступа Wi-Fi / поделиться подключением на Kali Linux? Не может ssh в новую установку CentOS минимального на lan Как объединить разделы видео с помощью avconv? Как группировать значения на основе метрики «связности»? Автоматический инструмент настройки ядра Как отображать числа только в конце переменной в bash? Почему sshd отображается несколько раз на одной ветви pstree? Может кто-нибудь объяснить мне, как это делает grep? Пересылка IP через туннель ssh Система управления документами для Linux перенаправление ввода-вывода zsh: перенаправление и последующее соединение; что происходит? Как Flatpak предотвратит распространение современных библиотек? Когда «найдет». -exec COMMAND {} + `выполнить COMMAND несколько раз?

Как получить список всех запланированных заданий cron на моей машине?

Мой системный администратор создал кучу заданий cron на моей машине. Я хотел бы точно знать, что запланировано на какое время. Как я могу получить этот список?

В зависимости от того, как настроена ваша система Linux, вы можете посмотреть:

  • /var/spool/cron/* (пользовательский crontabs)
  • /etc/crontab (общесистемный crontab)

Кроме того, многие дистрибутивы имеют:

  • /etc/cron.d/* Эти конфигурации имеют тот же синтаксис, что и /etc/crontab

  • /etc/cron.hourly , /etc/cron.daily , /etc/cron.weekly , /etc/cron.monthly

Это просто каталоги, которые содержат исполняемые файлы, которые выполняются ежечасно, ежедневно, еженедельно или ежемесячно, по их имени каталога.

Кроме того, вы можете иметь работу (check /var/spool/at/* ), anacron ( /etc/anacrontab и /var/spool/anacron/* ) и, возможно, другие, о которых я забываю.

С большинством Крон (например, Vixie-Cron – Debian / Ubuntu по умолчанию, Cronie – Fedora по умолчанию, Solaris Cron …) вы получаете список запланированных заданий cron для текущего пользователя через:

 $ crontab -l 

или для другого пользователя через

 # crontab -l -u juser 

Чтобы получить crontab для всех пользователей, вы можете перебрать все пользователи и вызвать эту команду.

Кроме того, вы можете искать файлы спула. Обычно они сохраняются в /var/spool/cron , например, для vcron, следующих за каталогом

 /var/spool/cron/crontabs 

содержит все настроенные crontabs всех пользователей – кроме пользователя root, который также может настраивать задания через общесистемный crontab, который находится по адресу

 /etc/crontab 

С помощью cronie (по умолчанию для Fedora / CentOS) существует .d конфигурации .d для системных заданий cron:

 /etc/cron.d 

(Как всегда, каталог .d упрощает ведение записей конфигурации, которые являются частью разных пакетов.)

Для удобства большинство дистрибутивов также предоставляют каталоги, в которых периодически выполняются связанные / хранимые скрипты, например:

 /etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly 

Своевременное выполнение этих сценариев обычно управляется записями элементов run-parts в системе crontab или через anacron .

С Systemd (например, на Fedora, CentOS 7, …) периодическое выполнение задания может быть дополнительно настроено с помощью блоков таймера . Разрешенные системные таймеры могут отображаться через:

 $ systemctl list-timers 

Обратите внимание, что пользователи, находящиеся рядом с root, могут иметь экземпляры user systemd, на которых настроены таймеры. Например, в Fedora по умолчанию запускается экземпляр user systemd для каждого пользователя, который в настоящий момент зарегистрирован. Их можно распознать через:

 $ ps aux | grep 'systemd[ ]--user' 

Эти таймеры могут быть перечислены через:

 $ systemctl --user list-timers 

Альтернативой выдаче команды list-timers является поиск файлов таймера (pattern: *.timer ) и символических ссылок на них в обычных конфигурационных каталогах system и user systemd:

 $ find /usr/lib/systemd/ /etc/systemd -name '*.timer' $ find /home '(' -path '/home/*/.local/share/systemd/user/*' \ -o -path '/home/*/.config/systemd/*' ')' \ -name '*.timer' 2> /dev/null 

(Как и в случае с обычными сервисными единицами, модуль таймера активируется посредством создания символической ссылки в правой директории systemd.)

Смотрите также:

  • Статья в ArchWiki о Cron
  • Статья ArchWiki по таймерам Systemd

Перечислить все крон для данного пользователя.

crontab -u username -l;

Чтобы перечислить всех клонов для всех пользователей

Запустите его как суперпользователя

 #!/bin/bash #List all cron jobs for all users for user in `cat /etc/passwd | cut -d":" -f1`; do crontab -l -u $user; done