У меня есть экземпляр AWS linux, в настоящее время в экземпляре много папок.
Я хотел бы сопоставить все папки и их размер, чтобы я мог вернуться через 1 месяц и проверить, какая папка занимает большой объем памяти (возможно, папка журналов).
Как лучше всего этого добиться?
так что мне было легче сравнивать размер этого и следующего месяца.
Спасибо.
Некоторое время назад я сохранил этот ответ из другого вопроса: Как отсортировать вывод du -h по размеру
Требуется coreutils 7.5 или новее. Команда проста:
du -hs * | sort -h
Или для сортировки в порядке убывания используйте:
du -hs * | sort -hr
На выходе будут перечислены каталоги в порядке их размера, отсортированные в удобочитаемом формате (K, M, G).
Чтобы сравнить размеры с течением времени, перенаправьте вывод в файл для хранения:
du -hs * | sort -hr > /path/to/diskusage.txt
Использовать утилита ncdu. Запишите значения. Вернитесь и проверьте еще раз через месяц :)
ncdu 1.7 ~ Use the arrow keys to navigate, press ? for help
--- /ppro ----------------------------------------------------------------------------------------------------------
170.0GiB [##########] /data
104.6GiB [###### ] /sldata
54.4GiB [### ] /isam
48.8GiB [## ] /slisam
27.8GiB [# ] /hist
15.4GiB [ ] /prt
12.1GiB [ ] /jmail
10.1GiB [ ] /zephyr2
9.7GiB [ ] /edi
7.9GiB [ ] /savdata2
6.2GiB [ ] /io
Ответ заключался в том, чтобы создать сценарий bash.
Это часть сценария:
Я выводю информацию о каждой подпапке почтовой папки, например:
#!/bin/bash
du -h /etc/* | sort -nr | head -n 20 > /outputdir/data/etc.txt
du -h /usr/* | sort -nr | head -n 20 > /outputdir/data/usr.txt
du -h /var/* | sort -nr | head -n 20 > /outputdir/data/var.txt
плюс добавление
du -hs /var/ >> /ilantest/data/general.txt
du -hs /usr/ >> /ilantest/data/general.txt
du -hs /etc/ >> /ilantest/data/general.txt
Это даст мне некоторую информацию об использовании диска для наиболее часто используемых папок, в том числе для отображения до 20 самых больших папок и их изменений во время тестов.