|  | 
| 
Пересоздан файл и проблема с записью лога 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&tid=1481213]: | 0ms | 
| get settings: | 10ms | 
| get forum list: | 12ms | 
| check forum access: | 3ms | 
| check topic access: | 3ms | 
| track hit: | 39ms | 
| get topic data: | 9ms | 
| get forum data: | 2ms | 
| get page messages: | 43ms | 
| get tp. blocked users: | 1ms | 
| others: | 14ms | 
| total: | 136ms | 

| 0 / 0 | 
