Я хочу очистить серверные журналы в Linux без необходимости перезапуска сервера, чтобы у меня не возникало проблем с нехваткой памяти. Я слышал, что> имя файла будет делать это, но это содержимое хранится в другой памяти. Так что я не думаю, что команда уменьшит память? Есть ли способ очистить файл журнала.
1 ответ
О очистке или уменьшении системных журналов, которые звучат как "Поворот журналов" (часто обрабатывается с помощью logrotate
). Смотрите эту справочную страницу, ориентированную на Ubuntu, для получения дополнительной информации: https://help.ubuntu.com/community/LinuxLogFiles#Log_Rotation
При просмотре списков каталогов в /var /log или любом из его подкаталогов вы можете встретить файлы журналов с такими именами, как daemon.log.0, daemon.log.1.gz и т.д. Что это за файлы журналов? Это «повернутые» файлы журналов. То есть они автоматически переименовываются по истечении заданного периода времени и запускается новый оригинальный журнал. Еще через некоторое время файлы журналов сжимаются утилитой gzip, как в случае с примером daemon.log.1.gz. Цель ротации журналов состоит в том, чтобы архивировать и сжимать старые журналы, чтобы они занимали меньше места на диске, но по-прежнему были доступны для проверки при необходимости. Что обрабатывает эту функциональность? Ну конечно, команда
logrotate
! Как правило, logrotate вызывается из общесистемного сценария cron /etc/cron.daily/logrotate и дополнительно определяется конфигурационным файлом /etc/logrotate.conf. Отдельные файлы конфигурации могут быть добавлены в /etc/logrotate.d (где, например, хранятся конфигурации apache2 и mysql).Это руководство не охватывает множество способов, с помощью которых logrotate может быть настроен на автоматическое вращение любого файла журнала в вашей системе Ubuntu. Более подробную информацию можно найти в разделе « Ресурсы » данного руководства.
ПРИМЕЧАНИЕ. Вы также можете вращать файлы системного журнала с помощью сценария cron.daily /etc/cron.daily/sysklogd вместо использования logrotate. На самом деле утилита savelog может привести к неожиданным результатам при ротации журналов, на которые, похоже, не влияет настройка logrotate. В этих случаях вы должны проверить скрипт cron.daily sysklogd в /etc/cron.daily/sysklogd и прочитать страницу справки savelog, чтобы убедиться, что savelog на самом деле не выполняет вращение так, как вы не указали
logrotate
.
Или, вы можете просто удалить их ... rm
и т.д. ...