首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >寻找用于快照构建(diskspace)的Maven存储库清理脚本(unix)

寻找用于快照构建(diskspace)的Maven存储库清理脚本(unix)
EN

Stack Overflow用户
提问于 2011-04-07 02:21:07
回答 2查看 1.8K关注 0票数 0

因此,我们有自己的私有Maven存储库,我们可以将快照构建发布到该存储库。

我们有很多构建,所以磁盘空间开始成为我们所有快照构建的问题。虽然这很有趣,但我想知道是否有人知道我可以运行CRON脚本来执行快照清理。

我知道sonatype这样做是为了他们自己的repo,但我找不到脚本。

EN

回答 2

Stack Overflow用户

发布于 2011-04-07 02:38:19

要查找两周前更新的所有快照文件,请执行以下操作:

代码语言:javascript
复制
 find . -type f -mtime +14 | grep SNAPSHOT

用管道把它传给xargs rm,你就应该很棒了。

需要注意的是:存储库管理器将创建一个metadata.xml文件,其中列出了所有已发布的修订。假设您只是使用scp发布,并使用don服务器进行检索,我认为该文件不存在(因此此脚本不会触及它的事实应该不是问题)。

票数 3
EN

Stack Overflow用户

发布于 2012-07-14 16:39:51

下面的脚本很适合我:

代码语言:javascript
复制
#!/bin/sh
REPO=/var/www/maven2/snapshots
find $REPO -type d -name '*-SNAPSHOT' | while read project; do
    if [ -f $project/maven-metadata.xml ]; then # Make sure this is a maven artifact directory
            # Assume that snapshot numbering is designed to be sorted numerically
            latestversion=$(ls $project | grep -v 'maven-metadata.*' | sort -n | grep '\.pom$' | tail -n1)
            latestversion=$(basename $latestversion .pom)
            # Delete everything, but the latest version and the maven metadata
            find $project -type f | grep -v -e 'maven-metadata.*' -e "$latestversion.*" | xargs rm
    fi
done
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5571134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档