Я удалил apache2 other_vhosts_access.log.1 размером 7 ГБ, чтобы освободить место на нашем сервере. В основном я удалил все журналы доступа, кроме самых последних. Самый большой был несжатым - я предполагаю, что он не прошел через logrotate (который работает).
Запуск df -h не показывает лишнего места, и я пробовал каждую комбинацию apache/apachectl restart/reload/graceful
и т.д .. как упоминалось в других вопросах - безрезультатно. lsof
тоже не показывает открытый файл.
более чем вероятно, что вы удалили журналы, но apache заблокировал их.
Вы должны использовать lsof
и ищите (удалено). Руководство IBM Вот. Способ исправить - перезапустить процесс apache, чтобы освободить файл.
Попробуйте скопировать / dev / null в свой файл журнала. Это должно обрезать ваш файл, не закрывая дескриптор файла, который держит apache ...
cp /dev/null other_vhosts_access.log.1
У меня была такая же проблема, и я решил ее следующим образом.
ПРОБЛЕМА:
Я удалил вручную access_log
и error_log
в каталоге /var/www/vhosts/mywebsite/logs/mywebsite1/
чтобы освободить место, но даже если файлы исчезли, пространство не освобождается.
РЕШЕНИЕ:
я использовал lsof
отсортировано по размеру для поиска в большом файле (найдена команда Вот):
lsof -s | awk '$5 == "REG"' | sort -n -r -k 7,7 | head -n 100
Я нашел два больших файла access_log
и error_log
по другому пути (обратите внимание на разницу с предыдущим путем):
/var/www/vhosts/system/mywebsite1/logs/
Я сбрасываю эти два файла командой:
:>/var/www/vhosts/system/mywebsite1/logs/access_log
:>/var/www/vhosts/system/mywebsite1/logs/error_log
Файлы были очищены, а пространство освобождено.
Надеюсь, это может быть полезно.
В моем случае мне нужно было перезапустить rsyslog
, который обрабатывает журналы в моей системе ubuntu и освободил все дисковое пространство.
Это может быть перезапущено sudo service rsyslog restart
или если у вас 16.04+ с sudo systemctl restart rsyslog
.