sed -E -e 's/^.*log\.//' -e 's/\.[A-Z].*//' -e 's/([0-9]{4})-/\1 /'
Первое выражение удалит все в строке до log.
непосредственно перед датой.
Второе выражение удалит все из точки, следующей за временем (, единственной точкой, за которой следует -заглавная буква ).
Третье выражение заменит тире после четырехзначного -числа (года )пробелом.
Учитывая входные данные в вопросе, это даст
04-24-2018 08.36
Если вы не видите подозрительно больших файлов в /tmp или другом каталоге, который может быть очищен при загрузке, вероятной причиной являются несвязанные, но все еще открытые файлы.
Это обычно вызывается некоторыми программами намеренно, например. для создания разделяемой памяти, которая может быть передана другим процессам, но недоступна для несвязанных процессов через имя файла. Это также может произойти непреднамеренно, если, например. файл журнала ротируется/удаляется, но процесс регистрации сохраняет файл открытым.
Эти файлы перестают существовать, когда умирают все процессы, которые держат файл открытым (, поэтому не позднее, чем при корректном завершении работы системы )и когда, например. fsck
запускается после сбоя питания. Таким образом, такие файлы объясняют, что использование снижается после перезагрузки.
Попробуйте это (как root ), чтобы увидеть все удаленные, но все еще открытые файлы, созданные в точке монтирования/
:
lsof -s -- / | grep -e '^COMMAND \| (deleted)' | less
Столбец COMMAND
содержит имя процесса, который держит файл открытым, SIZE
размер файла в байтах и NAME
путь, по которому файл был изначально до его удаления.
Если вы видите в списке очень большой файл или имена файлов, типичные для файлов журналов, возможно, вы нашли виновника.
Попробуйте следующее. Это может занять некоторое время, так как ваш диск заполнен. Он проверяет все файлы под корнем, а затем сортирует по размеру.
du / | sort -n
Если это займет много времени, просто получите сводку и повторяйте, пока не сможете детализировать.
du -s /* | sort -n
Менеджер пакетов часто имеет кеш, который занимает несколько гигабайт. sudo yum clean all
или sudo apt-get clean all
могут прояснить некоторые вещи.
du
— отличный инструмент. я бы использовалdu -xhd1 /
-x, --one-file-system
-h, --human-readable
-d, --max-depth=N
Однако не сходите с ума, удаляя что-то. Я найду, куда ваше серверное приложение записывает данные, и удостоверюсь, что его журналы не вышли из-под контроля