Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 26347|Отговор: 2

[Уеб] Разделяне и изтриване на логове в Nginx

[Копирай линк]
Публикувано в 13.06.2020 г. 22:52:07 ч. | | | |
Изисквания: Разделяйте логовете на nginx според текущата дата всеки ден, по един файл на ден и изтривайте файлове, които са на повече от 30 дни, тоест се запазват само един месец логове.

Напишете nginx log splitting shell скрипта по следния начин:

В това състояниеlogs_pathиpid_pathПътят трябва да бъде добавен според вашата реална ситуация.

Можеш да видиш пътя към pid файла в nginx.conf файла или да го намериш със следната команда:

Командата е въведена накратко

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

Качи скриптния файл на собствения си сървър (каквато директория искаш)

Дайте разрешения за изпълнение на скрипт



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


Ако бъде докладвана грешка, можете да се обърнете към следните поправки:

/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 задачи. Трябва да използваш embed променливата $time_iso8601, за да получиш времето. Форматът на $time_iso8601 е следният: 2015-08-07T18:12:02+02:00. След това използвайте регулярния израз, за да получите данните за необходимото време.


 Хазяин| Публикувано в 12.10.2025 г. 19:27:12 ч. |
Linux сървърите изрязват nginx логове въз основа на logrotate
https://www.itsvse.com/thread-11088-1-1.html
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com