Linux посмотреть crontab пользователя

Обновлено: 07.07.2024

Утилита crontab используется для установки, удаления или просмотра таблиц, использующихся для управления демоном Сron, стандартным планировщиком заданий в Unix системах. Каждый пользователь может иметь свой собственный crontab, и не смотря на то что они расположены в каталоге /var, они не предназначены для непосредственного редактирования.

Если файл Allow существует, вы должны быть прописаны в нем, что-бы иметь возможность выполнять данную команду. Если файла Allow нет, но есть файл Deny, вы НЕ должны быть в нем перечислены. Если ни один из файлов не существует, то в зависимости от конфигурации, либо, только пользователь root, сможет выпользовать данную команду, либо все пользователи смогут ее использовать. Формат данных файлов представляет собой, имена пользователей, по одному на строку, без пробелов в начале и конце строки. Строка иного формата будет проигнорирована и может использоваться в качестве комментария.

Первая форма команды используется для установки нового crontab файла из указанного в аргументах либо поредложит ввести имя, если в качестве параметра указан стандартный ввод "-".

Программа crontab поддерживает соедующие опции:

-u user Пользователь, чей crontab файл будет редактироваться. Если опция не указана, утилита crontab проверяет файл crontab принадлежащий текущему пользователю. Обратите внимание, запуск из под su(1), может запутать crontab, если вы запускаете его в сеансе su(1), всегда используйте данную опцию. -l Вывести файл crontab текущего пользователя в стандартный поток вывода. -r Удилить файл crontab текущего пользователя. Будет выдан запрос на подтверждение. -e Редактировать текущий crontab, с помощью редактора установленного переменными окружения VISUAL или EDITOR. Редактор должен уметь работать с файлом "на месте"; редакторы которые удаляют файл и пересоздают его не могут быть использованы. После выхода из редактора, модифицированный файл crontab будет установлен автоматически.

Задания Cron обычно используются для выполнения операций по обслуживанию системы. Например, задание cron можно настроить для автоматизации повторяющихся задач, таких как резервное копирование баз данных , обновление системы с помощью последних исправлений безопасности, очистка кеша, отправка электронных писем и т. Д.

В этой статье объясняется, как составить список заданий cron.

Вывод списка пользователей Cron Jobs

Файлы crontab пользователей именуются в зависимости от имени пользователя, а их расположение зависит от операционной системы. В дистрибутивах на основе Red Hat, таких как CentOS, файлы crontab хранятся в каталоге /var/spool/cron , а в Debian и Ubuntu файлы хранятся в каталоге /var/spool/cron/crontabs .

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

Если пользователь настроил задания cron, содержимое пользовательских crontab будет отображаться на экране. В противном случае команда не выведет no crontab for <username> .

Чтобы вывести список заданий cron других пользователей, используйте параметр -u чтобы указать имя пользователя в конце команды. Например, чтобы вывести список заданий cron пользователя с именем «mark», вы должны использовать:

Каждый пользовательский файл crontab имеет 600 разрешений и принадлежит пользователю. Только root и пользователи с привилегиями sudo могут просматривать задания cron других пользователей.

Чтобы узнать, какие пользователи создали задания cron, укажите содержимое каталога spool как пользователь root или sudo:

Результат будет выглядеть примерно так:

Список заданий Cron системы

/etc/crontab и файлы в каталоге /etc/cron.d являются общесистемными файлами crontab, которые могут редактировать только системные администраторы.

Используйте cat , less или любой текстовый редактор для просмотра содержимого файлов:

В большинстве дистрибутивов Linux вы также можете помещать скрипты в каталоги /etc/cron. , и эти скрипты выполняются каждый hour/day/week/month .

Каждый сценарий в этих каталогах должен иметь разрешение на выполнение. В противном случае задание cron не будет выполнено.

Например, чтобы просмотреть все еженедельные задания cron, введите:

Если вывод пуст, это означает, что еженедельных заданий cron нет.

Таймеры Systemd

В дистрибутивах Linux, использующих systemd в качестве системы инициализации, таймеры используются как альтернатива стандартному демону cron.

Чтобы просмотреть список всех таймеров systemd на вашем компьютере, выполните следующую команду:

Синтаксис Crontab

Crontab имеет шесть полей. 1-5 поля определяют дату и время исполнения. 6 поле используется для команды/скрипта. Синтаксис выглядит следующим образом:


Как изменить расписание

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

По умолчанию откроются задачи текущего пользователя. Для редактирования задач другого пользователя используйте команду:

Как узнать список заданий Crontab

Для просмотра записей crontab текущего пользователя используйте команду:

Чтобы посмотреть список заданий другого пользователя, используйте -u:

Примеры

1. Ежедневно в 2 часа ночи.

Это будет полезно для ежедневного резервного копирования.

2. Дважды в день

Команда ниже будет выполняться в 5 утра и 5 вечера ежедневно.

3. Каждую минуту

4. Каждое воскресенье в 17:00

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

5. Каждые 10 минут

Если вы хотите запустить скрипт с интервалом в 10 минут, вы можете настроить его, как показано ниже. Может быть полезно для мониторинга.

6. Определенные месяцы

Иногда может понадобиться запланировать задачи только на некоторые месяцы. Ниже приведен пример скрипта, который будет запущен в январе, мае и августе.

7. Определенные дни

Если вам необходимо составить расписание выполнения задачи только на некоторые дни. Приведенный ниже пример будет выполняться каждое воскресенье и пятницу в 17:00.

8. Первое воскресенье каждого месяца.

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

9. Каждые четыре часа.

Если вы хотите запустить скрипт с интервалом в 4 часа:

10. Дважды в каждое воскресенье и понедельник.

Чтобы запланировать выполнение задачи дважды только в воскресенье и понедельник:

11. Несколько задач

Можно запланировать несколько задач в одной записи с помощью точки с запятой:

12. Ежегодно (@yearly)

13. Ежемесячно (@monthly)

14. Еженедельно (@weekly)

15. Ежедневно (@daily)

16. Ежечасно (@hourly).

17. Выполнение задач при перезагрузке системы (@reboot).

@reboot полезен для тех задач, которые вы хотите запустить при перезагрузке системы.

18. Отправка результатов заданий на электронную почту

Favorite

Добавить в избранное

Главное меню » Linux » Как вывести список заданий Cron в Linux

Автоматизация системных задач с использованием cron на CentOS 7

Задания Cron обычно используются для выполнения операций по обслуживанию системы. Например, задание cron можно настроить для автоматизации повторяющихся задач, таких как резервное копирование баз данных, обновление системы с помощью последних исправлений безопасности, очистка кэша, отправка электронных писем и т. д.

В этой статье объясняется, как составить список заданий cron.

Список пользователей Cron Jobs

Если пользователь настроил задания cron, содержимое пользовательских crontabs будет отображаться на экране. В противном случае команда напечатает no crontab for <username>.

Чтобы вывести список заданий cron других пользователей, используйте опцию -u для указания имени пользователя в конце команды. Например, чтобы перечислить задания cron пользователя с именем «andreyex», вы должны использовать:

Каждый пользовательский файл crontab имеет разрешение 600 и принадлежит пользователю. Только root и пользователи с привилегиями sudo могут просматривать задания cron других пользователей.

Чтобы узнать, какие пользователи создали задания cron, перечислите содержимое каталога spool как пользователь root или sudo:

Вывод будет выглядеть примерно так:

Перечисление заданий cron системы

/etc/crontab и файлы внутри каталога /etc/cron.d являются общесистемными файлами crontab, которые могут редактировать только системные администраторы.

Используйте cat, less или любой текстовый редактор, чтобы просмотреть содержимое файлов:

В большинстве дистрибутивов Linux вы также можете поместить скрипты в каталоги /etc/cron., и скрипты выполняются каждый час/день/неделя/месяц.

Читать Как запланировать публикацию ваших постов в WordPress (шаг за шагом)

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

Например, чтобы просмотреть все еженедельные задания cron, введите:

Если вывод пуст, это означает, что еженедельных заданий cron нет.

Системные таймеры

В дистрибутивах, использующих systemd в качестве системы инициализации, таймеры используются в качестве альтернативы стандартному демону cron.

Чтобы просмотреть список всех системных таймеров на вашем компьютере, выполните следующую команду:

Вывод

Мы показали вам, как составить список заданий cron и системных таймеров.

Не стесняйтесь оставлять комментарии, если у вас есть какие-либо вопросы.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Читайте также: