На Linux заканчивается место на диске? Проверьте ваши логи!

Категория: линукс

Файлы логов могут быстро увеличиваться до огромных размеров, занимая ценное дисковое пространство, пока вы не освободите его.

Несмотря на то что системы Linux славятся своей легкостью, вы можете обнаружить, что внезапно заканчивается свободное дисковое пространство.

Почему это произошло? Самый большой подсказкой, и возможно, главным виновником, будет найден в ваших системных логах Linux.

Почему логи занимают так много места на диске? Логи - важная часть управления вашей системой Linux.

Вы можете видеть, что происходит с вашим компьютером, и также устранять проблемы, которые возникают.

Демоны логирования Linux подобны Просмотру событий в Windows. Обычно логи не занимают много места.

Это происходит потому, что большинство дистрибутивов автоматически управляют тем, сколько места они занимают на вашем диске.

Linux логи исторически были обычными текстовыми файлами, но с переходом многих основных дистрибутивов к systemd, они стали бинарными файлами, управляемыми службой journald, службой systemd.

В противном случае ваш дистрибутив будет использовать либо rsyslog, либо syslog-ng.

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

Хотя вы можете подумать, что логи не должны занимать много места, неисправный процесс может заполнять логи быстрее, чем система может их поворачивать.

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

Вам придется выяснить, что заполняет ваши системные логи, и исправить это.

Вы можете проверить, сколько места на диске вы используете с помощью команды du -h:

du -h /var/log

Вы увидите список каждого подкаталога вместе с общим объемом занимаемого им места:

Нахождение ваших логов Если вы используете современный дистрибутив Linux с systemd, вы будете использовать программу journalctl для просмотра ваших логов; journald обычно хранит логи в каталогах /var/log/journal или /run/log/journal, в зависимости от дистрибутива.

Чтобы просмотреть логи, введите команду journalctl в командной строке. Есть и другие полезные опции командной строки. Чтобы просмотреть сообщения загрузки, используйте опцию -b:

journalctl -b

Вы можете просматривать сообщения лога вашей системы в реальном времени с опцией -f.

Если ваш дистрибутив не использует systemd, вы найдете логи в каталоге /var/log.

Даже с systemd некоторые программы все равно сохраняют свои логи в этом каталоге.

Это обычные текстовые файлы, которые вы можете исследовать с помощью утилиты-пейджера, такой как less.

Например, чтобы прочитать системный лог:

less /var/log/syslog

Вы увидите полное содержимое файла лога, который может содержать тысячи строк: Вы также можете отслеживать его в реальном времени с опцией -f команды tail:

tail -f /var/log/syslog

Как Linux поворачивает файлы логов В каталоге /var/log вы можете заметить файлы с именами, заканчивающимися на "log.N.gz", где N - это число. Это результат того, что система поворачивает старые логи. Большинство дистрибутивов имеют утилиту, которая делает это автоматически, называемую "logrotate". logrotate обычно настроен на запуск как cron-задание или таймер systemd.

По умолчанию большинство дистрибутивов будет запускать logrotate ежедневно. logrotate сжимает старые логи с использованием gzip, как видно по расширениям файлов ".gz". Для этого он использует порог, такой как возраст или размер файла, а также другой порог для окончательного удаления старых файлов логов.

По умолчанию параметры logrotate достаточны для большинства пользователей рабочих столов. Вы можете настроить поведение logrorate, отредактировав файл /etc/logrotate.conf с правами суперпользователя, а также редактировав файлы cron или таймера вашей системы, но эти операции действительно актуальны только для администраторов серверов.

Вы лучше устранить то, что заполняет ваши логи, чем настраивать файлы конфигурации для экономии дискового пространства. Если вам абсолютно необходимо изменить конфигурацию, вы можете прочитать страницу руководства logrotate.

Какие логи безопасно удалить? Если ничего не помогает, и вам отчаянно нужно освободить дисковое пространство, вы можете вручную удалить архивированные файлы логов, заканчивающиеся на ".gz", прежде чем сделает это logrotate. Вы можете использовать rm, но вам придется выполнить его от имени суперпользователя, поскольку эти файлы принадлежат системе:

sudo rm /var/syslog/syslog.*gz

Эта команда удалит все файлы, содержащие "syslog." и заканчивающиеся на "gz".

Всегда будьте очень осторожны при выполнении команд через sudo, особенно при разрушительных командах, таких как rm!

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

Как исправить то, что заполняет ваши логи Лучший способ узнать, что заполняет ваши логи, - следить за ними с помощью опций journalctl или tail -f. Ваш лучший вариант - повторяющиеся сообщения об ошибках.

Вам придется разобраться с причиной этого процесса, чтобы освободить дисковое пространство. Если вы не знаете, что вызывает ошибку, вы можете поискать информацию в Интернете или попросить помощи на каналах поддержки вашего дистрибутива. Когда вы, наконец, это исправите, вы сможете безопасно удалить более старые логи. Теперь у вас должно быть гораздо больше дискового пространства.





Если вам нужен по настоящему хороший и профессиональный веб хостинг или свой высокопроизводительный сервер, то смело переходите по ссылке и заказывайте!

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *



Карта сайта
Copyright © 2024