用下面的方法基本都是可以解决,以此记录下,分享给大家
常用的办法是:du -s /home/* | sort -nr 找出是谁占用。
1. 定期对重要文件系统扫描,并作对比,分析那些文件经常读写
1 #ls –lR /home >;files.txt
2 #diff filesold.txt files.txt
通过分析预测空间的增长情况,同时可以考虑对不经常读写文件进行压缩,以减少占用空间。
2. 查看空间满的文件系统的inodes消耗
1 #df – i /home
如果还有大量inode可用,说明大文件占用空间,否则是可能大量小文件占用空间。
3. 找出占用空间较大的目录
查看/home 占用的空间
1 #du –hs /home
查看/home 下占用空间超过1000m
1 #du |awk ‘$1>;2000′
4. 找出占用空间较大的文件
1 #find /home –size +2000k
5. 找出最近修改或创建的文件
先touch一个你想要的时间的文件如下:
1 # touch -t 08190800 test
2 #find /home -newer test -print
6. 删除系统日志等
删除生成 core,mbox等文件
1 #find / -name core|xargs rm –rf
删除日志
1 #rm -rf /var/log/*
7. 对分区做链接
在有空间的分区,对没有空间分区做链接
1 #ln -s /home /usr/home
8.找出耗费大量的空间的进程
根据不同的应用,找出对应的进程。分析原因。
9.。检查并修复文件系统
1 #fsck –y /home
10.重起机器
有了以上的十招,应该可以解决大部分问题,但关键还是安装时要规划好分区。
另外发现磁盘满时,不能急,小心操作,认真分析原因,然后小心应对。
需要注意, 以上十招不需要顺序执行,有的可能一招封喉,有的可能需要数招并用,删除操作一定要小心。
如果还不行,只有采取增加硬盘,重新安装系统等“硬”办法了。
直接在nginx.conf的HTTP段里增加一个access_log off;就行了.
另外下面的log_format一直到access_log **** access全部删除.
因为log_format在nginx的检测的时候就通不过.
看官方回答似乎log_format已经在nginx内部定义了.不需要而外添加.
我网站目前的access_log文件大小都为0
最占磁盘的MySql-bin.0000X日志文件
之前说到VPS磁盘减少2G查出是Mysql-bin.0000x的日志文件自动生成的,
这个日志文件可有可无,删了没什么的,也可以禁用
如何删除mysql-bin.0000X 日志文件呢?
1 /usr/local/mysql/bin/mysql -u root -p
2 reset master; 除日志文件
3 du -h –max-depth=1 /usr/local/mysql/ 查询Mysql大小
4 find / -name my.cnf 搜索My.cnf
找到了my.cnf 即mysql配置文件,我们将log-bin=mysql-bin 这条注释掉即可.
1 # Replication Master Server (default)
2 # binary logging is required for replication
3 #log-bin=mysql-bin
重启下mysql吧.
OK,至此,操作完成. 以后再不会因为就几十M的数据库大小生成N个G的日志文件啦
常用的办法是:du -s /home/* | sort -nr 找出是谁占用。
1. 定期对重要文件系统扫描,并作对比,分析那些文件经常读写
1 #ls –lR /home >;files.txt
2 #diff filesold.txt files.txt
通过分析预测空间的增长情况,同时可以考虑对不经常读写文件进行压缩,以减少占用空间。
2. 查看空间满的文件系统的inodes消耗
1 #df – i /home
如果还有大量inode可用,说明大文件占用空间,否则是可能大量小文件占用空间。
3. 找出占用空间较大的目录
查看/home 占用的空间
1 #du –hs /home
查看/home 下占用空间超过1000m
1 #du |awk ‘$1>;2000′
4. 找出占用空间较大的文件
1 #find /home –size +2000k
5. 找出最近修改或创建的文件
先touch一个你想要的时间的文件如下:
1 # touch -t 08190800 test
2 #find /home -newer test -print
6. 删除系统日志等
删除生成 core,mbox等文件
1 #find / -name core|xargs rm –rf
删除日志
1 #rm -rf /var/log/*
7. 对分区做链接
在有空间的分区,对没有空间分区做链接
1 #ln -s /home /usr/home
8.找出耗费大量的空间的进程
根据不同的应用,找出对应的进程。分析原因。
9.。检查并修复文件系统
1 #fsck –y /home
10.重起机器
有了以上的十招,应该可以解决大部分问题,但关键还是安装时要规划好分区。
另外发现磁盘满时,不能急,小心操作,认真分析原因,然后小心应对。
需要注意, 以上十招不需要顺序执行,有的可能一招封喉,有的可能需要数招并用,删除操作一定要小心。
如果还不行,只有采取增加硬盘,重新安装系统等“硬”办法了。
直接在nginx.conf的HTTP段里增加一个access_log off;就行了.
另外下面的log_format一直到access_log **** access全部删除.
因为log_format在nginx的检测的时候就通不过.
看官方回答似乎log_format已经在nginx内部定义了.不需要而外添加.
我网站目前的access_log文件大小都为0
最占磁盘的MySql-bin.0000X日志文件
之前说到VPS磁盘减少2G查出是Mysql-bin.0000x的日志文件自动生成的,
这个日志文件可有可无,删了没什么的,也可以禁用
如何删除mysql-bin.0000X 日志文件呢?
1 /usr/local/mysql/bin/mysql -u root -p
2 reset master; 除日志文件
3 du -h –max-depth=1 /usr/local/mysql/ 查询Mysql大小
4 find / -name my.cnf 搜索My.cnf
找到了my.cnf 即mysql配置文件,我们将log-bin=mysql-bin 这条注释掉即可.
1 # Replication Master Server (default)
2 # binary logging is required for replication
3 #log-bin=mysql-bin
重启下mysql吧.
OK,至此,操作完成. 以后再不会因为就几十M的数据库大小生成N个G的日志文件啦