Назад | Перейти на главную страницу

Сопоставление папок linux по размеру

У меня есть экземпляр 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 самых больших папок и их изменений во время тестов.