01
—
背景介绍
02
—
实现步骤
1. 编写脚本,该脚本实现逻辑主要是通过判断目录的最新时间,保留近一个月的构建记录,超过一个月的就自动删除,通过find命令定义需要清理的项目目录,如下:
#!/bin/bash
#jenkins 构建项目目录
DIR="/home/user/.jenkins/jobs/"
#保留天数
OLDEST_DATE=$(date -d "$(date +%Y-%m-%d) -30 days" +%s)
#添加项目 "Product" 和 "Dev"
for DIRECTORY in $(find "$DIR" -maxdepth 1 -type d -name "Product" -o -name "Dev" | sort); do
if [ -d "$DIRECTORY/builds" ]; then
echo "Processing $DIRECTORY/builds directory..."
find "$DIRECTORY/builds" -maxdepth 1 -type d -name "[0-9]*" | while read LINE
do
MOD_DATE=$(stat -c %Y "$LINE")
if [[ $MOD_DATE -lt $OLDEST_DATE ]]; then
echo "Deleting old directory ${LINE}"
ls -ld ${LINE}
rm -rf "${LINE}"
fi
done
else
echo "Skipping $DIRECTORY/builds directory..."
fi
done
2. 添加定时任务
#crontab -e
0 23 * * * /root/script/Jenkins_disk_clenup.sh > /dev/null 2>&1 &
03
—
知识扩展
Jenkins目录结构
-
<job_name>/config.xml:存储该job的配置详情。 -
<job_name>/builds/:每个构建编号下有构建结果和相关的工件(artifacts)。
MUSIC
♬..♩~ ♫. ♪..
END
推荐阅读
实用系列!企业内网Linux软件安装神器
太强了!利用python批量巡检服务状态
超实用!利用Nginx实现文件下载,效率翻倍
高效部署!使用Docker Compose快速搭建Harbor私有镜像仓库
原文始发于微信公众号(Linux运维之旅):Jenkins磁盘空间自动清理
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/273773.html