|
Пересоздан файл и проблема с записью лога lsof (deleted)
|
|||
---|---|---|---|
#18+
Добрейшего времени суток! Имеется нагруженный сервер с сервисом, ОС Ubuntu, ФС ext4 есть такая проблема, процесс держал файл (писал туда постоянно) и файл был пересоздан (sed, vim), по сути дела файл с тем же именем но inode другой и вот если смотреть lsof то там имя файла и (deleted), и процесс считает что удален исходя из inode т.е. файл есть но он с другим inode уже и в этот файл запись не идет, а идет по прежнему к примеру в /proc/31916/fd/6 (можно сделать tail -f /proc/31916/fd/6 и видеть что пишет как миленький) Вот ищу способ, реально ли подменить inode и/или как-то заставить процесс писать в новый пересозданный файл с другим inode (без перезапуска)? Как то на поверхности не вижу путей, вдруг это элементарно и просто надо загуглить что-то. P.S. Понимаю, что в идеале то перезапустить сервис и пусть заново в файл писать свой лог начнет. А если надо лог тот что написался в (deleted) то можно скопировать содержимое /proc/31916/fd/6 в нужный файл. Но вот не остановить процесс, надо чтобы работал и лог терять не хочется, да и куда он его пишет, так то лог я усекаю logrotate ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2018, 20:40 |
|
Пересоздан файл и проблема с записью лога lsof (deleted)
|
|||
---|---|---|---|
#18+
MakPolВот ищу способ, реально ли подменить inode и/или как-то заставить процесс писать в новый пересозданный файл с другим inode (без перезапуска)? Самый реальный способ найти такой способ это обратиться в техподдержку этого сервиса. Может, он на какой-нибудь сигнал реагирует или переоткрывает лог по другим воздействиям. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2018, 21:11 |
|
Пересоздан файл и проблема с записью лога lsof (deleted)
|
|||
---|---|---|---|
#18+
Код: sql 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2018, 06:28 |
|
Пересоздан файл и проблема с записью лога lsof (deleted)
|
|||
---|---|---|---|
#18+
landy, и как это поможет в уже сложившейся ситуации? Это как-то поможет без перезапуска уйти от deleted? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2018, 08:39 |
|
Пересоздан файл и проблема с записью лога lsof (deleted)
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, самый правильный способ вообще лог чтобы не пересоздавался, а усекался и не трогать ))))) Но сигнала такого нет, к сожалению, вот средствами ОФ ФС ищу ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2018, 08:41 |
|
Пересоздан файл и проблема с записью лога lsof (deleted)
|
|||
---|---|---|---|
#18+
MakPol, есть мнение, что можно транкейтить файл или нет при помощи > или truncate (если удален, то можно прямо к /proc/xxx/fd/xxx), зависит от того каким образом приложение этот файл открывает, т.е. если там O_APPEND, то должно быть все нормально, а если без O_APPEND, то оно (на самом деле ведро), будет начало забивать бинарными нулями. PS. если логи не нужны, то чего бы их сразу в /dev/null не слать? а если нужны, то можно mkfifo, потом cat или tee, а дальше по обстоятельствам. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2018, 09:06 |
|
Пересоздан файл и проблема с записью лога lsof (deleted)
|
|||
---|---|---|---|
#18+
Андрей Панфилов, ну то что там сейчас как сохранить знаю, готов то что там усечь но надо не перезапуская сервис чтобы стали писаться нормально и ушло это deleted ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2018, 11:18 |
|
Пересоздан файл и проблема с записью лога lsof (deleted)
|
|||
---|---|---|---|
#18+
MakPolсигнала такого нет Значит обломись и пиши разработчикам фичереквест. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2018, 13:42 |
|
Пересоздан файл и проблема с записью лога lsof (deleted)
|
|||
---|---|---|---|
#18+
MakPolДобрейшего времени суток! Имеется нагруженный сервер с сервисом, ОС Ubuntu, ФС ext4 есть такая проблема, процесс держал файл (писал туда постоянно) и файл был пересоздан (sed, vim), по сути дела файл с тем же именем но inode другой и вот если смотреть lsof то там имя файла и (deleted), и процесс считает что удален исходя из inode т.е. файл есть но он с другим inode уже и в этот файл запись не идет, а идет по прежнему к примеру в /proc/31916/fd/6 (можно сделать tail -f /proc/31916/fd/6 и видеть что пишет как миленький) Вот ищу способ, реально ли подменить inode и/или как-то заставить процесс писать в новый пересозданный файл с другим inode (без перезапуска)? Как то на поверхности не вижу путей, вдруг это элементарно и просто надо загуглить что-то. P.S. Понимаю, что в идеале то перезапустить сервис и пусть заново в файл писать свой лог начнет. А если надо лог тот что написался в (deleted) то можно скопировать содержимое /proc/31916/fd/6 в нужный файл. Но вот не остановить процесс, надо чтобы работал и лог терять не хочется, да и куда он его пишет, так то лог я усекаю logrotate иногда для этого используют сигнал SIGHUP. что то типа Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2018, 19:51 |
|
Пересоздан файл и проблема с записью лога lsof (deleted)
|
|||
---|---|---|---|
#18+
MakPolDimitry Sibiryakov, самый правильный способ вообще лог чтобы не пересоздавался, а усекался и не трогать ))))) Но сигнала такого нет, к сожалению, вот средствами ОФ ФС ищу стгнал SIGHUP может быть специально и не описан разработчиками поскольку это обще принятый сигнал для перечитки конфигурации. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2018, 19:57 |
|
|
start [/forum/topic.php?fid=25&fpage=9&tid=1481213]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 266ms |
total: | 392ms |
0 / 0 |