Назад | Перейти на главную страницу

как очистить общий файл nfs?

У меня есть установка, в которой сервер db разделяет некоторые каталоги через nfs с кластером веб-браузеров.

Один из этих каталогов - это каталог журнала apache, поэтому все веб-серверы записывают в единый сервер базы данных access.log.

Я пытаюсь очистить этот файл с помощью cat / dev / null> access.log, но команда ничего не делает.

Вы знаете, как его очистить, не снимая? Заранее спасибо, Саймон.

Прежде всего позвольте мне сказать, что запись всех веб-серверов в уникальный файл журнала через NFS - очень плохая идея, возникают всевозможные проблемы, подобные той, с которой вы столкнулись сейчас.

Чтобы иметь возможность очистить файл, вам нужно сначала переименовать его, затем продолжить перезапуск каждого экземпляра apache до тех пор, пока файл не будет открыт каким-либо процессом, и только тогда вы сможете удалить его. .

Если я могу предложить альтернативу, вы можете добиться того же, если apache записывает в ваш локальный журнал, а затем использует syslog-ng для отправки журнала на удаленный компьютер, где все журналы собираются под одним, это более надежное решение , Я задокументировал инструкции по этому вопросу Вот

Используйте touch /path/filename.log, чтобы создать файл с нулевым размером байта