Премиальное программное обеспечение и практические уроки
Сайт внезапно перестал открываться посреди ночи, и Nginx выдал ошибку 502. После перезапуска сервера сайт восстановился. Я проверил различные записи мониторинга и обнаружил, что дисковое пространство сервера заполнено! Помимо системныхНенужные файлы журналаКроме того, логи Nginx занимают десятки гигабайт. Начнём с очистки ненужных системных лог-файлов!
Ненужные файлы журналов в системе CentOS
В системе CentOS есть две службы журналов, а именно традиционная rsyslog и systemd-journal.
systemd-journald — это улучшенная служба управления журналами, которая может собирать журналы из ядра, фазы раннего запуска системы, стандартный вывод и информацию об ошибках системных демонов во время запуска и работы, а также журналы syslog.
Служба журналирования хранит журналы только в одном файле, имеющем структуру /run/log. Поскольку журналы представляют собой сжатые и отформатированные двоичные данные, их можно быстро просматривать и находить.
По умолчанию журналы не сохраняются и хранятся только один месяц. Кроме того, некоторые журналы, которые rsyslog не может собрать, также записываются в журнал.
Как традиционная служба системного журнала, rsyslog записывает все собранные журналы в различные файлы журналов в каталоге /var/log/.
Журнал займёт около 3 ГБ дискового пространства в системе. Если ваш диск достаточно большой и вам нужно просматривать связанные журналы, вы можете не удалять их. Если это хост, например, VPS, с небольшим жёстким диском, рекомендуется удалить ненужные файлы журналов.
Как очистить файл /var/log/journal
Используйте команду echo для перенаправления содержимого пустой строки в указанный файл.
echo "" > system.journal
Примечание: Этот метод позволяет очистить данные только один раз. Повторная очистка вручную через некоторое время может быть затруднительной. В этом случае вы можете использовать следующую команду, чтобы позволить journalctl автоматически сохранять место.
Команда journalctl автоматически поддерживает размер файла
1. Сохраняйте журналы только за прошедшую неделю.
journalctl --vacuum-time=1w
2. Сохраняйте только 500 МБ журналов.
journalctl --vacuum-size=500M
3. Непосредственно удалите файлы журналов в каталоге /var/log/journal/.
rm -rf /var/log/journal/log имя каталога
Примечание: Журнал занимает около 3 ГБ дискового пространства в системе. Если ваш диск достаточно большой и вам нужно просматривать связанные журналы, вы можете не удалять их. Если вы используете VPS или другой хостинг с небольшим объёмом жёсткого диска, рекомендуется удалить ненужные файлы журналов.