Cron linux список задач

Содержание
  1. Как получить список всех задач cron у всех пользователей в Linux ?
  2. 18 примеров команды crontab
  3. Синтаксис Crontab
  4. Как изменить расписание
  5. Как узнать список заданий Crontab
  6. Примеры
  7. 1. Ежедневно в 2 часа ночи.
  8. 2. Дважды в день
  9. 3. Каждую минуту
  10. 4. Каждое воскресенье в 17:00
  11. 5. Каждые 10 минут
  12. 6. Определенные месяцы
  13. 7. Определенные дни
  14. 8. Первое воскресенье каждого месяца.
  15. 9. Каждые четыре часа.
  16. 10. Дважды в каждое воскресенье и понедельник.
  17. 11. Несколько задач
  18. 12. Ежегодно (@yearly)
  19. 13. Ежемесячно (@monthly)
  20. 14. Еженедельно (@weekly)
  21. 15. Ежедневно (@daily)
  22. 16. Ежечасно (@hourly).
  23. 17. Выполнение задач при перезагрузке системы (@reboot).
  24. 18. Отправка результатов заданий на электронную почту
  25. ⏲️ Как просмотреть или составить список заданий Cron на Linux
  26. Как вывести список заданий Cron текущего пользователя
  27. Список заданий Cron другого пользователя
  28. Список заданий Cron, выполняемых системой
  29. Как составить список почасовых задач в Cron
  30. Как составить список ежедневных заданий Cron
  31. Как составить список еженедельных заданий Cron
  32. Как составить список ежемесячных заданий Cron
  33. Как просмотреть задания Cron для конкретных приложений
  34. Заключение
  35. Как вывести список заданий Cron в Linux
  36. Список пользователей Cron Jobs
  37. Перечисление заданий cron системы
  38. Системные таймеры
  39. Вывод
  40. Как вывести список заданий Cron в Linux
  41. Вывод списка пользователей Cron Jobs
  42. Список заданий Cron системы
  43. Таймеры Systemd
  44. Выводы

Как получить список всех задач cron у всех пользователей в Linux ?

Вроде простая задача и вроде есть простое решение в виде:

Но решение неудобное и нужно всегда держать его в голове.
Давайте его усовершенствуем.

Исходные данные: Debian 8.9 (jessie)

Небольшой экскурс для тех кто не в курсе как вообще посмотреть список запланированных задач в планировщике cron в Linux:

Список задач у текущего пользователя:

Список задач у пользователя vasua:

Для вывод задач для всех пользователей очевидно нужно взять список пользователей в системе из /etc/passwd и сделать для каждого пользователя crontab -u USERNAME -l, то есть:

Недостаток этого решения очевиден:
1. Нужно всегда помнить эту команду.
2. Если у пользователя нет задач в планировщике то мы получим сообщение «no crontab for vasua» и таких сообщений может быть десятки если у вас много пользователей — это неудобно.
3. Вывод информации неудобно читать.

Но это не финишная прямая, а только начало, ведь опытный системный администратор знает, что кроме вывода списка заданий командой crontab -l -u USER есть еще задания планировщика в каталоге /etc/cron.d/ и это тоже нужно учитывать, потому что например панель хостинга ISPConfig сохраняет задания cron в каталоге /etc/cron.d/ с именами ispc_webXXX, где webXXX — это логин системного пользователя, например web30 и вывод crontab -l -u web30 нам скажет «no crontab for web30», а на самом деле в файле /etc/cron.d/ispc_web30 может быть такая картина:

Задачи в /etc/cron.d мы тоже учтем и покажем в решении ниже.

Итак, создадим функцию allcrontab в файле

/.bashrc для ввода информации в более удобном виде:

/.bashrc или перелогиниваемся и выполняем в консоле allcrontab и видим красивый вывод списка всех задач cron у всех пользователей и дополнительно вывод задач из /etc/cron.d:

Результат выполнения allcrontab

Так же опытный системный администратор знает, что существует anacron (anachronistic cron или асинхронный (анахроничный) cron) и его запуск и его задания тоже нужно учитывать, см. файл /etc/cron.d/anacron и /etc/anacrontab и каталоги /etc/cron.daily/, /etc/cron.hourly/, /etc/cron.monthly/ и /etc/cron.weekly/, но обсуждение anacron уже выходит за рамки этой статьи.

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

Источник

18 примеров команды crontab

Cron (Command Run ON) — утилита для автоматического запуска программ и скриптов на сервере в определённое время. Cron очень полезен для рутинных задач, таких как сканирование системы, ежедневное резервное копирование и т.д. Cron автоматически выполняет задания в бэкенде в указанное время. Управлять cron нужно с помощью crontab. В этой статье вы увидите 18 полезных примеров команды crontab.

Читайте также:  Lenovo z580 bluetooth windows 10

Синтаксис Crontab

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

  • * — соответствует чему угодно
  • День недели в другом формате: mon, tue, wed
  • Месяц в другом формате: jan, feb, mar
  • Несколько значений в поле: 1,5,7 или mon,fri
  • Диапазон: 1-10 или 20-30 или sun-fri или feb-apr
  • Несколько диапазонов: jan-mar,jul-sep

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

Чтобы добавить или обновить задания в 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)

@yearly равно «0 0 1 1 *». Задание будет выполняться в первую минуту каждого года. Можно отправить новогодние поздравления 🙂

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

@monthly равно «0 0 1 * *». Задание будет выполняться в первую минуту месяца.

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

@weekly равно «0 0 1 * mon». Задание будет выполняться в первую минуту недели.

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

@daily равно «0 0 * * *». Задание будет выполняться в первую минуту каждого дня.

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

@hourly равно «0 * * * *». Задание будет выполняться в первую минуту каждого часа.

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

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

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

Если вы хотите отправить вывод на почту, то это можно сделать, установив переменную MAIL, как показано ниже.

Источник

⏲️ Как просмотреть или составить список заданий Cron на Linux

Название Cron происходит от греческого слова Chronos, которое используется для обозначения времени.

Это демон систем Linux, позволяющий автоматизировать выполнение команд или скриптов через определенные промежутки времени.

Это руководство покажет вам несколько вариантов вывода списка всех запланированных заданий cron для пользователей в системах Linux.

Как вывести список заданий Cron текущего пользователя

Команда crontab по умолчанию работает для текущего вошедшего в систему пользователя.

Читайте также:  Deleting windows uninstall files

Вы можете перечислить все запланированные задания cron для текущего пользователя, выполните:

Все пользовательские задания cron обычно находятся в каталоге /var/spool/cron/crontabs.

Для всех учетных записей пользователей создается отдельный файл с их именем.

Список заданий Cron другого пользователя

Пользователь с правами root или sudo может также просматривать запланированные cronjobs других пользователей.

Используйте -u с последующим именем пользователя, чтобы перечислить все задания, принадлежащие определенному пользователю.

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

Список заданий Cron, выполняемых системой

Пользователь root может получить доступ и изменить crontab операционной системы.

Вы можете просмотреть системные задания cron, выполнив следующую команду от имени учетной записи root или sudo.

Как составить список почасовых задач в Cron

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

Приведенный выше вывод показывает, что нет расписания заданий cron для ежечасного выполнения.

Вы можете увидеть файл .placeholder в каждом каталоге, который создается во избежание случайного удаления каталога менеджером пакетов.

Когда в каталоге нет другого файла.

Как составить список ежедневных заданий Cron

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

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

Как составить список еженедельных заданий Cron

Еженедельные задания cron запланированы в каталоге /etc/cron.weekly.

Как составить список ежемесячных заданий Cron

Все ежемесячные задания cron запланированы в каталоге /etc/cron.monthly.

Как просмотреть задания Cron для конкретных приложений

Эти джобы можно найти в почасовых, ежедневных, еженедельных или ежемесячных заданиях cron.

Например, веб-сервер Apache создал файл задания cron в каталоге /etc/cron.daily.

Это означает, что работа выполняется ежедневно.

Вы можете увидеть содержимое задания cron, открыв содержимое файла, как показано ниже:

Заключение

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

Кроме того, вы нашли подробную информацию о заданиях cron, выполняемых ежечасно, ежедневно, еженедельно или ежемесячно.

Источник

Как вывести список заданий Cron в Linux

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Линукс для ноутбука asus

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

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

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

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

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

Системные таймеры – это файлы модулей, которые заканчиваются суффиксом *.timer и позволяют запускать сервисные модули в зависимости от времени.

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

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

Вывод

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

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

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

Источник

Как вывести список заданий Cron в Linux

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

Задания 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 .

Чтобы вывести список заданий 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

Таймеры Systemd — это файлы модулей, которые заканчиваются суффиксом *.timer и позволяют запускать служебные модули в зависимости от времени.

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

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

Выводы

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

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

Источник

Оцените статью