linux 空間清理
#發現有大量剛剛刪除文件的進程存在,kill掉進程(或者重啟進程) OK
lsof | grep deleted
#循環檢測發現大目錄及其內的文件
du -h --max-depth=1 | sort -gr
獲取大文件
到jenkins的家目錄
find . -type f -size +100M
du -ah --max-depth=1
find . -type f -size +100M | wc -l
find . -type f -size +100M -exec rm -rf {} \;
du -sh .[!.]* * | sort -hr #查看隱藏文件
find . -type f -size +800M -print0 | xargs -0 du -h | sort -nr
du -hm --max-depth=2 | sort -nr | head -12
du -h --max-depth=1
#######
###刪除操作
在jenkins工作路徑下/var/lib/jenkins
find . -type f -size +200M -name *.jar -exec rm -rf {} \;
構建工作區清理
插件 Workspace Cleanup Plugin
樣例配置:
構建前清理
構建后操作:
workspace 與job
構建工作區(workspace)
每一個構建(build)都需要一個workspace 目錄作為構建的工作區,執行job配置中指定的任務
默認情況下,構建工作區workspace是不會自動清理的,也就是說每一個job的build結束后,workspace被遺留在master或者slave對應的工作區目錄下,Jenkins的本意是為下次構建復用工作區目錄,這樣一些代碼下載,編譯等可以加速
可用Workspace Cleanup Plugin 清理
job 中保存的是項目是在 jenkins 上的配置、日志、構建結果等
workspace 就是工作目錄,一般就是 Down 下來的源代碼目錄(網頁打開的顯示工作目錄)
清理刪除job后的workspace
具體思路是:
遍歷jenkins節點的workspace,根據路徑解析獲得jenkins job name
如果該job不存在(通過python jenkinsapi實現),則刪除相應的workspace
暫不考慮自定義的workspace
需要在jenkins每個節點上進行處理(可以在jenkins上創建job,將job綁定到相應slave上;也可以在相應slave上直接運行腳本)
# -*- coding: utf-8 -*-
import os
import shutil
import logging
from jenkinsapi.jenkins import Jenkins
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__file__)
def get_jenkins_instance():
jenkins_url = "http://jenkins.example.com"
jenkins_username = "username"
jenkins_password = "password"
return Jenkins(jenkins_url, username=jenkins_username, password=jenkins_password)
def clean_workspace():
jenkins_instance = get_jenkins_instance()
jenkins_workspace_path = "/opt/JENKINS_HOME/workspace/"
for dirpath, dirnames, filenames in os.walk(jenkins_workspace_path):
if dirpath == jenkins_workspace_path:
for dirname in dirnames:
jenkins_job_name = dirname
# 如果job被刪除,則清理相應的workspace
if not jenkins_instance.has_job(jenkins_job_name):
logger.info("removing workspace dir of job:%s" % dirname)
shutil.rmtree(os.path.join(dirpath, dirname))
if __name__ == "__main__":
clean_workspace()
未測試:來自 https://blog.csdn.net/weixin_34034261/article/details/91766530