1, Paraman (?), 13:04, 10/10/2005 [ответить]
| +/– |
Люди знающие. Расскажите мне плиз, а как newsyslog узнаёт о том, что демоны(апатча) остановлены и можно резать логи? | |
|
2, PavelR (?), 16:20, 10/10/2005 [^] [^^] [^^^] [ответить]
| +/– |
>Люди знающие. Расскажите мне плиз, а как newsyslog узнаёт о том, что
>демоны(апатча) остановлены и можно резать логи?
Насколько я понимаю механизм работы, то работает оно так:
1.newsyslog переименовывает файлы с логами (осуществляет непосредственно ротацию). При этом поскольку файл еще открыт, данные пишутся в него, хотя он уже и под другим именем.
2. производится посылка определенного сигнала определенному процессу(номер процесса берется из pid файла), после чего процесс производит переоткрытие файла (с основным именем) и пишет в него свой лог.
| |
|
3, Paraman (?), 11:18, 11/10/2005 [^] [^^] [^^^] [ответить]
| +/– |
А разве такое возможно, чтобы логи от апатча писались в другое место (переименованный лог), а не то, что указано у него в конфиге? | |
|
4, PavelR (?), 11:31, 11/10/2005 [^] [^^] [^^^] [ответить]
| +/– |
>А разве такое возможно, чтобы логи от апатча писались в другое место
>(переименованный лог), а не то, что указано у него в конфиге?
>
Открывается файл, программа получает дескриптор файла. Далее она работает с дескриптором и ей всеравно какое у файла имя.
ИМХО: В сути юниксовых ФС лежит следующий принцип. Есть inode к которой могут ссылаться (hardlink) несколько имен, в т ч в разных каталогах.
Когда ты удаляешь файл, то происходит только удаление линка от имени к inode. Когда количество inode становится равно нулю - то она становится свободной. Допустим с фтп у тебя скачивают файл, ты его удаляешь - но пользователь продолжит тянуть его, место на диске соотвественно не освободится. Произойдет это когда закроется последний файловый дескриптор, ссылающийся на этот файл.
| |
|
|
|
5, Paraman (?), 11:38, 11/10/2005 [ответить]
| +/– |
Большое спасибо PavelR. Разжували и накормили :) | |
|