linux rm 正则删除指定目录 - Go语言中文社区

linux rm 正则删除指定目录


由于jenkins构建历史过多,构建时报错。

Caused by: java.io.IOException: 设备上没有空间
    at java.io.FileOutputStream.writeBytes(Native Method)
    at java.io.FileOutputStream.write(FileOutputStream.java:326)
    at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
    at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291)
    at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:295)
    at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141)
    at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229)
    at java.io.BufferedWriter.flush(BufferedWriter.java:254)
    at hudson.util.AtomicFileWriter.flush(AtomicFileWriter.java:91)
    at com.thoughtworks.xstream.core.util.QuickWriter.flush(QuickWriter.java:75)

因此需要清除部分构建历史。
1.直接在客户端删除,这种方法在构建历史较少情况下可以使用,多的时候简直噩梦。
这里写图片描述


2.直接在服务器中删构建历史。
项目构建历史是按数字累加创建的目录依次存放的。
项目构建历史截图
命令 :ll -t|tac 按时间升序列出文件。
服务器上jenkins构建历史目录(2个):/var/lib/jenkins/jobs/game_center_dashboard_test/builds;
/var/lib/jenkins/jobs/game_center_dashboard_test/modules/com.qingning.gamecenter$game_center_dashboard/builds
删除两位数的目录:rm -rf `ls|grep “^[0-9]{1,2}$”` 外面是反引号(反引号的位置就在标准键盘的数字1的左边)
上图中1-99目录已经用上述命令删除。

重启jenkins(localhost:8080/restart),发现1-99条构建历史已被清除。

100-189条重新写正则:
rm -rf `ls | grep “^[1]{1}[0-8]{1}[0-9]{1}$”`

另外在jenkins客户端中还可以限制构建个数。
这里写图片描述

才发现博客中还可以分享音乐。O(∩_∩)O~~

border="0" width="330" height="86" src="http://music.163.com/outchain/player?type=2&id=366011&auto=1&height=66">
版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/u013897685/article/details/52799524
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-08 10:12:53
  • 阅读 ( 960 )
  • 分类:Linux

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢