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

Вид: 26347|Ответ: 2

[Веб] Разделение и удаление логов Nginx

[Скопировать ссылку]
Опубликовано 13.06.2020 22:52:07 | | | |
Требования: разделять логи nginx по текущей дате каждый день, по одному файлу в день и удалять файлы, которым больше 30 дней, то есть сохраняется только один месяц журналов.

Напишите сценарий разделения log nginx следующим образом:

В это вводlogs_pathиpid_pathПуть должен быть добавлен в соответствии с вашей реальной ситуацией.

Путь к pid-файлу можно увидеть в файле nginx.conf или найти его с помощью следующей команды:

Команда кратко вводится

USR1 также часто используется для информирования приложений о перегрузке конфигурационных файлов; Например, отправка сигнала USR1 на HTTP-сервер Apache приведёт к выполнению следующих шагов: прекращение приема новых соединений, ожидание окончания текущего соединения, перезагрузка конфигурационного файла, повторное открытие файла журнала, перезагрузка сервера и таким образом добиться относительно плавного изменения без выключения.

Загрузите скрипт на свой сервер (любую папку, которую хотите)

Предоставление разрешений на выполнение скриптов



Тестовые скрипты


Если ошибка сообщается, вы можете обратиться к следующим исправлениям:

/bin/bash^M: bad interpreter: No such file or directory
https://www.itsvse.com/thread-9258-1-1.html



Наконец, установите сервис crontab и добавьте запланированную задачу!
Выполняйте правило разбиения лога в 2 часа ночи каждый день:

CentOS 7 использует crontab для выполнения задач с регулярными интервалами
https://www.itsvse.com/thread-9280-1-1.html

Прилагается письмо sh:

Туристы, если вы хотите увидеть скрытое содержание этого поста, пожалуйстаОтвет





Предыдущий:/bin/bash^M: bad interpreter: No such file or directory
Следующий:Практическая конфигурация балансировки нагрузки высокой доступности NGINX
 Хозяин| Опубликовано 12.06.2021 21:50:10 |
Настраивайте лог-циклы напрямую в конфигурационном файле nginx без использования logrotate или настройки задач cron. Нужно использовать переменную встраивания $time_iso8601, чтобы определить время. Формат $time_iso8601 следующий: 2015-08-07T18:12:02+02:00. Затем используйте регулярное выражение, чтобы получить данные за необходимое время.


 Хозяин| Опубликовано 12.10.2025 19:27:12 |
Серверы Linux вырезали логи nginx на основе логротата
https://www.itsvse.com/thread-11088-1-1.html
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com