powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Python, как понять, что прошла ротация файла?
5 сообщений из 5, страница 1 из 1
Python, как понять, что прошла ротация файла?
    #40025267
Guzya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени, всем!

Имеется скрипт, читающий из лог-файла, необходимо переоткрывать лог-файл если прошла его ротация.
Как понять\отследить, что прошла ротация?


ОС: debian 9
ротация: logrotate
...
Рейтинг: 0 / 0
Python, как понять, что прошла ротация файла?
    #40025302
Guzya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пока переписал на сравнение inode. Если изменилась inode значит прошла ротация.
...
Рейтинг: 0 / 0
Python, как понять, что прошла ротация файла?
    #40025323
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guzya
Как понять\отследить, что прошла ротация?
Когда-то давно я проверял длину файла. Если она меньше предыдущей прочитанной позиции, то читаем с начала, иначе с предыдущей прочитанной позиции.
...
Рейтинг: 0 / 0
Python, как понять, что прошла ротация файла?
    #40025356
Guzya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я то же работаю с позицией, дочитываю.
Проблемы возникают, когда в лог почти ни чего не пишется.

Т.е. на боевом сервере(БД) проблем не было, в лог активно постоянно что-то пишется.
А вот когда запустил скрипт на реплике, обнаружил грабли. Поскольку в лог почти ни чего не падает (в плоть до пустого лог-файла),
то можно получить ситуацию, когда произойдет ротация + запись в лог и получиться, что размер больше предыдущего.

Пробовал ч\з время последней модификации, т.е. если за 5 сек. ни одной прочитанной строки, а время модификации поменялось значит ротация
прошла, но не прокатило. Поймал ситуацию, когда в файл прошла запись после попытки из него прочитать, но до проверки времени модификации.
И получал ложное срабатывание.
...
Рейтинг: 0 / 0
Python, как понять, что прошла ротация файла?
    #40027584
Guzya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сравнение inode не взлетело. Оказалось, что inode не меняется.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Python, как понять, что прошла ротация файла?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]