jenkins统计文件夹数目或删除N天前的子文件夹

目录

 

1.Jenkins pipeline中获取xxx文件夹下的一级子文件夹数目:

2.Jenkins pipeline中删除xxx文件夹下的N天前文件:

考虑到查询性能以及耗时问题,希望仅查询并删除21天前的一级子文件夹

查找当前文件夹x下的xx文件夹的子目录 


1.Jenkins pipeline中获取xxx文件夹下的一级子文件夹数目:

参考1:

http://noahsnail.com/2017/02/07/2017-02-07-Linux%E7%BB%9F%E8%AE%A1%E6%96%87%E4%BB%B6%E5%A4%B9%E4%B8%8B%E7%9A%84%E6%96%87%E4%BB%B6%E6%95%B0%E7%9B%AE/

 

参考2:

https://blog.csdn.net/u011541946/article/details/85041734

https://www.jb51.net/LINUXjishu/150571.html

注意:

  • ls -lR 的R是大写;
  • R会展示该文件夹下的所有子文件夹
只展示xxx文件夹下的一级子文件夹
stage('') {
            steps {
				 script {
    				sh "pwd"
					sh "ls /xxx"
					def dirnum = 0
					dirnum=sh(script:" ls -F xxx |grep /$  | wc -l ", returnStdout: true).toString().trim()
		        }
			}
        }

2.Jenkins pipeline中删除xxx文件夹下的N天前文件:

  • Jenkins pipeline中删除xxx文件夹下的N天前文件:

参考:https://blog.csdn.net/sinat_29325027/article/details/80887650

如果是想删除21天前的文件可以操作:
使用绝对目录:find /xxx -mtime +21 -name "*.*" -exec rm -Rf {} \;
这里查询结果不包含xxx(绝对路径)

  • 考虑到查询性能以及耗时问题,希望仅查询并删除21天前的一级子文件夹

参考:

http://blog.sina.com.cn/s/blog_6dd718930102xrst.html

https://www.jianshu.com/p/775e1b09e4b2

find /xxx/* -maxdepth 1 -mtime +21 -type d -exec rm -Rf {} \;

注:type d 类型为文件夹
  • 查找当前文件夹x下的xx文件夹的子目录(当前目录为x)

find ./xx/* -maxdepth 1 -mtime +21 -type d -exec rm -Rf {} \;
如果使用相对路径 find ./xx -maxdepth 1 -mtime +21 -type d -exec rm -Rf {} \;结果包含xx文件夹

问题:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章