linux空间被占满的情况

一般来说,服务器是要求长期连续运行的,不到万不得已,只有寿命到了的那一天才有“休息的机会”。服务器在运行的时候会自动执行任务生成的各种文件及日志,可能使空间占满,从而造成业务故障,所以要定时清理。

一般来说,linux空间占满有如两种情况:

1、空间被占满了
用df -m可以看到使用100%,这种情况下,满的分区无法新建文件,也无法输出日志,需要输日志的进程一般都会停止工作。

2、inode占满了
inode如何理解呢,就是一个文件对应一个inode,而Linux各个分区可用的inode一般是有限的,使用df -i可以查看使用情况。一般出现硬盘空间没占满,但inode占满了,这种一般是因为有大量的小文件生成,需要及时删除才行。


要定时清理空间,我们这里需要介绍一个命令:

find
该命令可以查询目录下特定文件名,生成日期的文件
举例如下:

# find /slvi/apache/htdocs/nos/netflow/netflow/View/Report/Day/R-NF-543* -type f -mtime +10
//上面就是查询/slvi/apache/htdocs/nos/netflow/netflow/View/Report/Day/R-NF-543开头的文件,-type f指明的是文件,如是-d则是目录,-mtime +10表示是十天之前的,如果是10天之内,则是-10
//如果需要将上面查询到的文件删除,则需要加上“-exec rm -rf {} \;”
# find /slvi/apache/htdocs/nos/netflow/netflow/View/Report/Day/R-NF-543* -type f -mtime +10 -exec rm -rf {} \;

对于通用的linux来说,/var是各种系统日志输出分区,建议不要和跟分区一起,而是单独划分区,一般我们划20G(一般够用,除非你热衷分析日志),一般我们要清理/var下面的一些目录。

一般来说可以设置为7天清一次,/var/log/下面很多日志是循环的,一般保存4个文件,对系统分析很重要,所以可以根据自己情况,清或不清,或保存多长时间。

对于这种定期清理的操作可以写成一个shell脚本(.sh文件),然后再把shell脚本放在crontab里自动运行,同理,很多你想要定期执行的操作都可以放在crontab里面。对于不同用户,为了避免去修改crontab造成混乱,可以每个用户自己先把自己要执行的操作写成一个shell脚本,然后再放入crontab中。

还要提醒,要用find时,先不要加后面的删除命令,先看找出来是否准确,是否是你需要删,再加上删除,免得你在根目录执行rm -rf *.

在此还要提醒 ,千万不要以root用户随便执行以下命令:

# rm -rf *
//当你在服务器上执行了这条指令,意味着你离下岗不远了。删除特别需要谨慎,不可错删误删。

end
MrBread 2017-03-01

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值