分享知识传递快乐
最近公司服务器磁盘空间总是时不时的爆满,导致服务器持掉,故写此定时任务来判断磁盘空间。在里省略定时任务代码,直接看Shell命令执行操作。
先来认识和了解一下磁盘管理DF的命令参数。
df命令磁盘管理
df命令用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
语法
df(选项)(参数)
选项
-a或--all:包含全部的文件系统;
--block-size=<区块大小>:以指定的区块大小来显示区块数目;
-h或--human-readable:以可读性较高的方式来显示信息;
-H或--si:与-h参数相同,但在计算时是以1000 Bytes为换算单位而非1024 Bytes;
-i或--inodes:显示inode的信息;
-k或--kilobytes:指定区块大小为1024字节;
-l或--local:仅显示本地端的文件系统;
-m或--megabytes:指定区块大小为1048576字节;
--no-sync:在取得磁盘使用信息前,不要执行sync指令,此为预设值;
-P或--portability:使用POSIX的输出格式;
--sync:在取得磁盘使用信息前,先执行sync指令;
-t<文件系统类型>或--type=<文件系统类型>:仅显示指定文件系统类型的磁盘信息;
-T或--print-type:显示文件系统的类型;
-x<文件系统类型>或--exclude-type=<文件系统类型>:不要显示指定文件系统类型的磁盘信息;
--help:显示帮助;
--version:显示版本信息。
常用命令
- df -hl 查看磁盘剩余空间
- df -h 查看每个根路径的分区大小
- du -sh [目录名] 返回该目录的大小
- du -sm [文件夹] 返回该文件夹总M数
- du -h [目录名] 查看指定文件夹下的所有文件大小(包含子文件夹)
取得每个分区的使用百分比(不要百分号)
df -k | awk '{print int($5)}'
df -TPh|awk '{print +$6}'
[guest@localhost ~]$ df -k
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/sda2 28296708 4508932 23787776 16% /
devtmpfs 1917956 0 1917956 0% /dev
tmpfs 1932652 0 1932652 0% /dev/shm
tmpfs 1932652 9152 1923500 1% /run
tmpfs 1932652 0 1932652 0% /sys/fs/cgroup
tmpfs 386532 12 386520 1% /run/user/42
tmpfs 386532 0 386532 0% /run/user/1000
[guest@localhost ~]$ df -k | awk '{print int($5)}'
0
16
0
0
1
0
1
0
[guest@localhost ~]
-------------------------------------------
[guest@localhost ~]$ df -TPh
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda2 xfs 27G 4.4G 23G 16% /
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 9.0M 1.9G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
tmpfs tmpfs 378M 12K 378M 1% /run/user/42
tmpfs tmpfs 378M 0 378M 0% /run/user/1000
[guest@localhost ~]$ df -TPh|awk '{print +$6}'
0
16
0
0
1
0
1
0
[guest@localhost ~]$ df -TPh|awk '{print $5}'
可用
23G
1.9G
1.9G
1.9G
1.9G
378M
378M
[guest@localhost ~]$
取得每个分区的使用百分比(要百分号)
df -TPh|awk '{print $6}'
[guest@localhost ~]$ df -TPh|awk '{print $6}'
已用%
16%
0%
0%
1%
0%
1%
0%
[guest@localhost ~]$
执行的结果每列的含义:
- 第一列(Filesystem),磁盘分区
- 第二列(Size),磁盘分区的大小
- 第三列(Used),已使用的空间
- 第四列(Avail),可用的空间
- 第五列(Use%),已使用的百分比
- 第六列(Mounted on),挂载点
最后,根据shell执行脚本返回的信息来判断磁盘的使用空间。
————————————
如有不妥之处请留言指正。
相互学习,共同进步。