Total Pageviews

Saturday, 29 December 2012

删除linux vps硬盘空间的无用文件以腾出磁盘空间

用下面的方法基本都是可以解决,以此记录下,分享给大家

常用的办法是: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的日志文件啦