服务器通常需要长期连续运行,如果自动化作业生成的各种文件和日志,空间可能会填满,这会导致业务故障,因此需要定期清理。
一般来说,Linux空间占满有如两种情况:
1、空间被占满了
用df -k 可以看到使用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天内,则是-10
上面只是查询,我们需要查到了,再删掉,则要加 “ -exec rm -rf {} ; ” ,结果如下:
find /slvi/apache/htdocs/nos/netflow/netflow/View/Report/Day/R-NF-541* -type f -mtime +10 -exec rm {} ;
对于通用的linux来说,/var是各种系统日志输出分区,建议不要和根分区一起,而是单独划分区,一般我们划20G(一般够用,除非你热衷分析日志),一般我们要清理/var/下面的一些文件及目录:
/bin/echo '' > /var/spool/mail/root 如果你/var空间经常不够,可以清一下,当然你应用程序的用户也要清:
/bin/echo '' > /var/spool/mail/XXXX XXXX代表你普通用户
下面这两个一般是邮件队列里发的,需要清理,不然可能造成/var/满,或inode占满,因为很多小文件:
/bin/find /var/spool/clientmqueue/* -type f -mtime +7 -exec rm -rf {} ;
/bin/find /var/spool/mqueue/* -type f -mtime +7 -exec rm -rf {} ;
上面说是7天清一次
/var/log/下面很多日志是循环的,一般保存4个文件,对系统分析很重要,所以可以根据自己情况,决定清与不清,或保存多长时间:
echo ''>/var/log 清第三个文件,离最近时间最长
/var/log 清第三个文件,离最近时间最长
上面这个命令,可以放在一个统一的shell里,然后把shell再放入crontab里自动运行。当然需要你长期观察,发现有其它要清的,也放入shell,包括你自己的应用程序输出的日志及文件。
还要提醒,要用find时,先不加后面的删除命令,先看找出来是否正确,是否是你需要删,再加上删除,免得你在根目录执行rm -rf *
1.文章《(linux如何清理磁盘空间)怎么清理电脑磁盘空间》援引自互联网,为网友投稿收集整理,仅供学习和研究使用,内容仅代表作者本人观点,与本网站无关,侵删请点击页脚联系方式。
2.文章《(linux如何清理磁盘空间)怎么清理电脑磁盘空间》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
相关推荐
- . 现代买票为什么带上携程保险
- . 潮阳怎么去广州南站
- . 湖南马拉河怎么样
- . 烧纸为什么到三岔路口
- . 百色为什么这么热
- . 神州租车怎么样
- . 芜湖方特哪个适合儿童
- . 护肤品保养液是什么类目
- . 早晚的护肤保养有哪些项目
- . 女孩护肤品怎么保养的最好