栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Linux清理文件小记

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux清理文件小记

事出有因

组内使用的jenkins自动构建失败,查看日志提示“java.io.IOException: 设备上没有空间”,搜索前辈经验得知是虚拟机空间不足导致的。在扩容和删除无用文件之间选择了后者。

通过本次问题学到的linux命令知识

df -h #查看磁盘使用情况

du -sh #查看当前文件夹总大小
du -h --max-depth=1 | sort -hr #将当前文件夹下的内容(文件夹、文件)按从大到小的顺序列出

说明:du命令的-h参数用于将大小按b, mb, gb这样容易看的形式打印出来;—max-depth参数设置展开层数,默认会展开到最深。

ls | grep -v keep | xargs rm #删除keep文件之外的所有文件

说明: ls先得到当前的所有文件和文件夹的名字, grep -v keep,进行grep正则匹配查找keep,-v参数决定了结果为匹配之外的结果,也就是的到了keep之外的所有文件名,然后 xargs用于从 标准输入获得参数 并且传递给后面的命令,这里使用的命令是 rm,然后由rm删除前面选择的文件。

grep -E “正则1|正则2|正则3” #grep命令匹配多个关键字

处理过程

到根目录下开始“du -h --max-depth=1 | sort -hr”查找无用文件聚集区,因为这个虚拟机主要就是用来跑jenkins的,所以我初步判断应该就是jenkins的构建历史占据最大空间。但并不是我搭建的jenkins,所以不清楚相关的构建历史文件放在哪,就只好一层层找一下,最终确定我这台机器的jenkins构建历史路径是“/opt/jenkins/jobs/”。进入该目录可看到jenkins的各项构建任务,在构建任务的builds文件夹下,存放着每次构建的历史。我需要保留比较新的几次,删除其他构建,于是用到了“ls | grep -v keep | xargs rm”命令,这不是linux反选删除的唯一方式,但我采用的是这一种。

参考博客
    Jenkins 无法使用 No space left on device 分析解决方案 https://blog.csdn.net/jjc120074203/article/details/93201799centos磁盘文件大小查看及排序 https://blog.csdn.net/kucoll/article/details/120078387linux shell下除了某个文件外的其他文件全部删除的命令 https://blog.csdn.net/taiyang1987912/article/details/41488395grep 满足 或 排除多个关键字 https://blog.csdn.net/allen_a/article/details/78623422

实际不止以上四篇,但要解决本次的问题以上四篇就够了,其他参考的都是一些细节知识盲点,就不列出了。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/730876.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号