我需要找出网络上每个用户占用了多少磁盘空间。我知道df和du命令:我可以列出整个文件系统和 AWK 输出,但我想知道是否有更标准的命令。
我正在寻找的输出是:
usr1 xMb
usr2 yMb
[...]
Total zMb
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
谢谢!
附注。红帽 Linux EE
我有一个文件服务器,它有一个非常大的文件夹树。有一个共享文件夹,下面是5个部门文件夹。嵌套在其中的是数以千计的子文件夹和文件。
我希望能够追踪这 5 个部门文件夹的增长情况。我还想关注某些特定的子子子文件夹。这样,如果我突然看到我的磁盘利用率 % 猛增,我可以知道这种增长发生在哪个文件夹中,因此我可以深入了解并发现 whodunnit。
我想过编写某种 vb 或 powershell 脚本(这需要学习语言)来对每个文件夹进行 DU,然后将表格写入文件或其他内容。但我认为这是在重新发明轮子,因为之前必须有人解决这个问题。有人知道在文件系统中绘制各种文件夹的(希望是免费软件/OSS)解决方案吗?
我遇到了一些情况,在 du 手册页中看不到任何内容。
1) 我只想查看子目录中大于特定大小的文件。2)我使用 du -sh > du_output.txt 我看到输出如选项 -s 和 -h 所描述的那样,我更感兴趣的是输出是否采用某种格式,例如
dir0--->dir1-->dir3-->dir4
| |
->dir2 |-file1
|-file2
Run Code Online (Sandbox Code Playgroud)
如果上面是目录布局,而我只想查看所有子目录中各个目录的大小,那么我该怎么办(每个子目录的深度是可变的)
我在我的 Ubuntu 服务器上删除了一个 2.3GB 的日志文件,并且df似乎没有接受更改。在df检测到大文件已被删除之前通常是否存在延迟?
Ubuntu 15.10 机器上的根驱动器几乎没有空间,但我找不到源。空间sdb2不足的驱动器是313M 的 51G 可用空间。文件系统是ext4.
这是sudo du -h / --max-depth=1输出:
Filesystem Size Used Avail Use% Mounted on
udev 3.9G 0 3.9G 0% /dev
tmpfs 789M 9.4M 780M 2% /run
/dev/sdb2 51G 48G 313M 100% /
tmpfs 3.9G 12K 3.9G 1% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/sdb1 511M 3.4M 508M 1% /boot/efi
tmpfs 789M 8.0K 789M 1% /run/user/1000
/dev/sda1 239G 122M 239G 1% /media/DATA
Run Code Online (Sandbox Code Playgroud)
但是我找不到任何大文件。总使用量/ …
我有一份新工作,现有的 SBS 2003 域设置不安全(即每个人都是域管理员等)。由于缺乏经验的“网络管理员”,存在很多问题,我正在尝试一一修复它们。
存在一个我觉得很奇怪的问题,即 C:(NTFS) 驱动器中存在“配额”选项卡,但 D:(NTFS) 驱动器中不存在。我玩弄 gpedit 以启用磁盘配额(之前“未配置”),但仍然看不到该选项卡。
你以前见过这个问题吗?你是怎么解决的?
我有奇怪的情况,因为 Linux df 命令说没有可用磁盘空间
[root@backup cache]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 72G 70G 0 100% /
/dev/sda1 190M 11M 170M 7% /boot
tmpfs 248M 0 248M 0% /dev/shm
Run Code Online (Sandbox Code Playgroud)
但du -sh /*说
[root@backup cache]# du -sh /*
4.0K /bacula-restores
7.4M /bin
5.4M /boot
3.6T /data
116K /dev
55M /etc
204K /home
76M /lib
16K /lost+found
12K /media
0 /misc
16K /mnt
8.0K /mount
0 /net
8.0K /opt
0 /proc
2.3G /root
32M /sbin
8.0K …Run Code Online (Sandbox Code Playgroud) Puppet-reports 在以下位置使用了大量磁盘空间:
/var/lib/puppet/reports
/var/lib/mysql
Run Code Online (Sandbox Code Playgroud)
假设它将所有报告存储在 MySQL 数据库中,因为两个路径的大小大致相同。该resource_statuses表由行的每个代表在报告文件中的行。
我在 Amazon EC2 服务器上的一个大型实例上。我运行 df 命令并得到:
root@db:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 9.9G 9.1G 284M 98% /
tmpfs 3.8G 0 3.8G 0% /lib/init/rw
varrun 3.8G 116K 3.8G 1% /var/run
varlock 3.8G 0 3.8G 0% /var/lock
udev 3.8G 80K 3.8G 1% /dev
tmpfs 3.8G 0 3.8G 0% /dev/shm
/dev/sdb 414G 957M 392G 1% /mnt
/dev/sdf 50G 12G 35G 26% /byp
/dev/sdk 99G 31G 63G 33% /backups
Run Code Online (Sandbox Code Playgroud)
然后我运行 du 命令并得到:
root@db:/# du -s -h /*
31G /backups …Run Code Online (Sandbox Code Playgroud) 我们使用石墨来跟踪磁盘使用历史。当可用空间低于一定数量的块时,我们的警报系统会查看来自石墨的数据以提醒我们。
我想获得更智能的警报 - 我真正想要的是关心的是“在我必须对可用空间做一些事情之前我还有多长时间?”,例如,如果趋势表明在 7 天内我将用完磁盘空间然后引发警告,如果不到 2 天,则引发错误。
Graphite 的标准仪表板界面对于衍生品和 Holt Winters 置信度带非常智能,但到目前为止我还没有找到将其转换为可操作指标的方法。我也可以用其他方式处理数字(只需从石墨中提取原始数字并运行脚本来执行此操作)。
一个复杂的问题是图形不平滑 - 文件被添加和删除,但随着时间的推移,总体趋势是磁盘空间使用量增加,因此可能需要查看局部最小值(如果查看“磁盘空闲”指标) ) 并在低谷之间绘制趋势。
有没有人做过这个?
linux ×4
monitoring ×2
ubuntu ×2
directory ×1
files ×1
graphite ×1
hard-drive ×1
ntfs ×1
puppet ×1
puppetdb ×1
ubuntu-10.04 ×1
unix ×1
usage ×1