centos磁盘爆满,查找大文件并清理
今天发现vps敲入crontab -e 居然提示 “Disk quota exceeded” 无法编辑。于是"df -h"查了查发现系统磁盘空间使用100%了。最后定位到是/var/spool/mail/root 这个文件有几个G。于是清理掉,问题解决。如果不知道是哪些文件占了磁盘空间,可以看下面查找大文件方法。
以下内容转自 http://hi.baidu.com/11haiou/item/f3a4878b601e084e840fab17
先贴命令:du -m --max-depth=1或du -h --max-depth=1du:用于统计linux中文件或目录所占磁盘空间的大小du参数######-
m:以M为单位展示查询结果
-h:以K、M、G为单位展示查询结果,提高信息可读性
--max-depth=1:其中,数字“1”是指查询结果中最多显示的目录层数,这里指最多显示一层目录。示例如下:
然后,利用此命令,逐层(目录)深入,这样就一定会查询到大文件所在目录,但也有可能是目录中文件过多所致。当找到大文件后,若因某些原因,不想对文件进行删除,可以用echo或cat或clear命令清除文件内容:
echo > /var/log/big.log此命令会把/var/log目录中的big.log文件内容清除,而又不删除big.log文件
cat > /var/log/big.log此命令能与“echo > /var/log/big.log”达到相同效果,不过,命令执行后,需要用“Ctrl + d”结束
clear > /var/log/big.log此命令会把big.log文件内容清空,而不删除文件
==========================================================
另一种情况: 也可能是inode用完了.
用# df -i 可以查看。
真的是inode用完了,磁盘没法再写入新的内容了,这个是某些临时的小文件太多了,把inode用完了,把它删掉就行了。
# find /var/spool/clientmqueue -type f -print -exec rm -f {} \;
这个命令中 /var/spool/clientmqueue 是要删除的文件所在的目录 -type f这个参数限定find只查找普通文件(即不是管道文件,不是块文件,不是链接文件,不是目录等),防止误删除系统文件。
原因分析:系统中有用户开启了cron,而cron中执行的程序有输出内容,输出内容会以邮件形式发给cron的用户,而sendmail没有启动所以就产生了这些文件;
最新文章
- python学习笔记(二)
- Git私钥openssh格式转ppk
- Ajax技术使用
- 解析大型.NET ERP系统 企业信息化实施人员工具箱
- Fragment的初步设计
- IOS学习笔记1`
- 单例模式(Singleton)Holder
- PHP按值合并数组
- CentOS6下安装git
- 毕业设计(1)基于MicroPython的大棚监测控制系统的程序设计与模型设计
- Network Security final project---War Game
- windows下golang实现Kfaka消息发送及kafka环境搭建
- Selenium获取当前窗口句柄与切换回原窗口句柄
- 关于Ubuntu使用笔记
- 关于IDE的选择
- python 中的 list dict 与 set 的关系
- python的安装和pycharm的安装
- python 全栈开发,Day117(popup,Model类的继承,crm业务开发)
- Python day7之mysql
- Java DecimalFormat 用法(数字格式化)
热门文章
- unity3d中的Viewport
- C#制作高仿360安全卫士窗体(三)
- android 系统应用在运行时被卸载
- 如何利用Dreamwever快速创建表格???
- android 自动化压力测试-monkey 1 实践
- [转]如何写出高效能TSQL -深入浅出SQL Server Relational Engine (含 SQL 2014 in-memory Engine)
- java 验证日期
- [工作记录] Android OpenSL ES: references &; AAC related
- 异步任务(AsyncTask)
- 还原TexturePacker plist 文件以及图片的方法 (切开各小图片)