Проверьте статус crontab в linux_crontab -e
Проверьте статус crontab в linux_crontab -e

Всем привет, мы снова встретились, я ваш друг Цюаньчжаньцзюнь.

Как регулярно выполнять задачи в Linux

В LINUX периодически выполняемые задачи обычно обрабатываются демоном cron [ps -ef|grep cron]. cron считывает один или несколько файлов конфигурации, которые содержат командные строки и время их вызова.

Файл конфигурации cron называется «crontab», что является сокращением от «cron table».

1. cron ищет файлы конфигурации в трёх местах:

1. /var/spool/cron/ В этом каталоге хранятся задачи crontab каждого пользователя, включая root. Каждая задача названа в честь создателя. Например, файл, соответствующий задаче crontab, созданной tom, — это /var/spool/cron. /Том.

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

2. /etc/crontab Этот файл отвечает за организацию crontab для обслуживания системы и других задач, определенных системным администратором.

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

HOME=/

# .—————- minute (0 – 59)

# | .————- hour (0 – 23)

# | | .———- day of month (1 – 31)

# | | | .——- month (1 – 12) OR jan,feb,mar,apr …

# | | | | .—- day of week (0 – 6) (Sunday=0 or 7) OR

#sun,mon,tue,wed,thu,fri,sat

# | | | | |

# * * * * * command to be executed

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

4. Разрешения

При возникновении проблем с разрешениями crontab перейдите в /var/adm/cron/ и проверьте, существуют ли файлы cron.allow и cron.deny.

Использование следующее:

1. Если оба файла не существуют, только пользователь root может использовать команду crontab.

2. Если cron.allow существует, но cron.deny не существует, только пользователи, перечисленные в файле cron.allow, могут использовать команду crontab. Если пользователь root не находится в нем, пользователь root не может использовать crontab.

3. Если cron.allow не существует и cron.deny существует, только пользователи, перечисленные в файле cron.deny, не могут использовать команду crontab, а другие пользователи могут ее использовать.

4. Если оба файла существуют, пользователи, перечисленные в файле cron.allow и не перечисленные в cron.deny, могут использовать crontab. Если в обоих файлах есть один и тот же пользователь,

Это зависит от того, существует ли пользователь в файле cron.allow. Если пользователь существует в файле cron.allow, вы можете использовать команду crontab.

В AIX обычные пользователи имеют разрешения crontab по умолчанию. Если вы хотите запретить пользователям использовать crontab, вам необходимо отредактировать /var/adm/cron/cron.deny.

По умолчанию в HP-UNIX обычные пользователи не имеют разрешений crontab. Если вы хотите освободить разрешения crontab для обычных пользователей, вы можете отредактировать их.

5. Создайте cron-скрипт.

Шаг 1. Напишите файл сценария cron и назовите его crontest.cron.

15,30,45,59 * * * * echo “xgmtest…..” >> xgmtest.txt Указывает, что каждые 15 минут следует выполнять команду печати.

Шаг 2. Добавьте запланированную задачу. Выполните команду «crontab crontest.cron». Сделанный

Шаг 3: «crontab -l». Проверьте, успешно ли выполнено запланированное задание, или проверьте, создан ли соответствующий сценарий cron в /var/spool/cron.

6. служба cron

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

/sbin/service crond start //Запускаем службу

/sbin/service crond stop //Закрываем сервис

/sbin/service crond restart //Перезапускаем службу

/sbin/service crond reload //Обновить конфигурацию

/sbin/service crond status //Просмотр статуса службы

использование кронтаба

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

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

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

Используйте пробелы или табуляции для разделения каждого поля. Формат следующий:

minute hour day-of-month month-of-year day-of-week commands

Юридические значения 00-59 00-23 01-31 01-12 0-6 (0 – воскресенье)

Помимо цифр, есть несколько специальных символов: «*», «/» и «-», «,». * представляет все числа в диапазоне значений, «/» представляет значение каждого, «/5» представляет каждые 5 единиц «-» представляет от определенного числа до определенного числа, «» разделяет несколько дискретных чисел.

-l отображает текущую таблицу crontab в стандартном выводе.

-r удаляет текущий файл crontab.

-e Отредактируйте текущий файл crontab, используя редактор, на который указывает переменная среды VISUAL или EDITOR. Когда вы закончите редактирование и выйдете, отредактированные файлы будут установлены автоматически.

Несколько примеров:

6 часов каждое утро

0 6 * * * echo “Good morning.” >> /tmp/test.txt //Обратите внимание, что при использовании простого эха на экране не видно никаких выводов, поскольку cron отправляет любой вывод по электронной почте в корневой почтовый ящик.

каждые два часа

0 */2 * * * echo “Have a break now.” >> /tmp/test.txt

с 23:00 до 8:00 и 8:00

0 23-7/2,8 * * * echo “Have a good dream” >> /tmp/test.txt

4-го числа каждого месяца и каждый понедельник-среду в 11:00.

0 11 4 * 1-3 command line

1 января, 4 утра.

0 4 1 1 * командная строка SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root //Если возникает ошибка или выводятся данные, данные будут отправлены на это как адрес электронной почты AccountHOME=/

Выполнять скрипт в /etc/cron.hourly каждый час.

01 * * * * root run-parts /etc/cron.hourly

Выполнять скрипт в /etc/cron.daily каждый день.

02 4 * * * root run-parts /etc/cron.daily

Выполняйте скрипт в /etc/cron.weekly каждую неделю.

22 4 * * 0 root run-parts /etc/cron.weekly

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

42 4 1 * * root run-parts /etc/cron.monthly

Примечание. Параметр «run-parts» отсутствует. Если вы удалите этот параметр, вы сможете позже написать имя запускаемого сценария вместо имени папки.

Выполняйте команду через 5, 15, 25, 35, 45 и 55 минут в 4:00, 5:00 и 6:00 каждый день.

5,15,25,35,45,55 16,17,18 * * * command

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

00 15 * * 1,3,5 shutdown -r +5

Через 10 и 40 минут каждый час выполняйте команду innd/bbslin в каталоге пользователя:

10,40 * * * * innd/bbslink

Выполняйте команду bin/account в каталоге пользователя каждые 1 минуту каждый час:

1 * * * * bin/account

Выполняйте следующие две команды в каталоге пользователя каждое утро в 3:20 (каждая команда разделяется знаком ;):

20 3 * * * (/bin/rm -f expire.ls logins.bad;bin/expire$#@62;expire.1st)

Каждый январь и апрель, с 4 по 9 числа, в 3:12 и 3:55 выполняйте команду /bin/rm -f expire.1st и добавляйте результат после файла mm.txt (файл mm.txt находится в собственном каталоге пользователя).

12,55 3 4-9 1,4 * /bin/rm -f expire.1st#@62;#@62;mm.txt

Команда at реализует запланированные задачи

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

at аналогичен процессу печати. ​​Он поместит задачу в каталог /var/spool/at и запустит ее в указанное время. Команда at эквивалентна другой оболочке. При запуске команды at time она отправляет команды одну за другой, и вы можете ввести любую команду или программу.

Процесс выполнения команды at выглядит следующим образом.

# at 2:05 tomorrow

at>/home/kyle/do_job

at> Ctrl+D

Метод представления времени в AT Time

———————————————————————–

Пример времени Описание

———————————————————————–

Минута сейчас + 5 минут Задача запустится через 5 минут

Час сейчас + 1 час Задача запустится через 1 час

Дней сейчас + 3 дня Задача запустится через 3 дня

Недели сейчас + задачи на 2 недели, выполняемые через две недели

Исправлено в полночь Задача запускается в полночь

Исправлено в 22:30.

Примечание. Linux не запускается по умолчанию, но по умолчанию запускается Ubuntu. Проверьте, запущен ли он, используйте службу atd для проверки синтаксиса, используйте службу atd status, чтобы проверить статус atd, и используйте службу atd start, чтобы запустить службу atd.

Проверьте конкретное содержимое при выполнении: обычно оно находится в каталоге /var/spool/at. Откройте его с помощью vi. Последняя часть — ваша исполняемая программа.

Подробное объяснение параметров

-V : Распечатать номер версии.

-q: использовать указанную очередь (очередь) для хранения. Данные at хранятся в так называемой очереди. Пользователь может использовать несколько очередей одновременно, номера очередей: a, b, c... z и A, B, … Z всего 52

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

-f файл: прочитать заранее написанный командный файл. Пользователю не нужно использовать режим чата для ввода. Он может сначала записать все спецификации в файл, а затем прочитать их снова.

веб-приложение

-l: перечислить все спецификации (пользователи также могут напрямую использовать atq вместо -l)

-d: удалить указанное (пользователи также могут использовать atrm напрямую вместо -d)

-v: вывести список всех выполненных, но еще не удаленных заданий.

Удалить задачу

atrm 2

Выполните /bin/ls три дня спустя в 17:00:

at 5pm 3 days /bin/ls

Выполните /bin/ls три недели спустя в 17:00:

at 5pm 2 weeks /bin/ls

Выполните /bin/date завтра в 17:20:

at 17:20 tomorrow /bin/date

Напечатано в последнюю минуту, в последний день конца света 1999 года!

at 23:59 12/31/1999 echo the end of world !

Вышеупомянутое - это то, что вам представил редактор. Как регулярно выполнять задачи в Linux и кронтаб Инструкция по использованию (собрана и систематизирована), надеюсь, будет полезна всем. Если у вас возникнут вопросы, оставьте мне сообщение, и редактор ответит вам вовремя. Я также хотел бы поблагодарить всех вас за поддержку сайта Script House!

Издатель: Лидер стека программистов полного стека, укажите источник для перепечатки: https://javaforall.cn/172595.html Исходная ссылка: https://javaforall.cn

boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода