You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub自托管Runner旧版本文件残留问题求助

GitHub自托管Runner旧版本残留文件清理方案

官方配置说明

目前GitHub官方并没有内置的配置选项能自动清理Runner更新后留下的旧版本文件(就是你提到的bin.2.320.0、externals.2.321.0这类带版本号的文件夹),官方文档里确实没提这块的自动处理机制。

可行的清理方案

既然官方没提供,那就自己写个脚本定期清理就行,核心是先搞清楚当前Runner在用哪个版本,再删掉其他版本的文件夹:

1. 确认当前活跃版本

Runner安装目录里的bin和externals一般是软链接(Linux/macOS),指向当前正在使用的版本文件夹。你可以用命令直接提取版本号:

# 提取当前bin对应的版本号
CURRENT_BIN_VER=$(readlink bin | awk -F. '{print $2"."$3"."$4}')
# 提取当前externals对应的版本号
CURRENT_EXTERNALS_VER=$(readlink externals | awk -F. '{print $2"."$3"."$4}')

Windows环境下可以查看快捷方式的目标路径,或者从Runner的日志里找当前版本信息。

2. 清理旧版本文件夹

写个循环遍历目录,把不是当前版本的bin.*和externals.*删掉:

# 清理旧bin文件夹
for dir in bin.*; do
  if [[ "$dir" != "bin.$CURRENT_BIN_VER" ]]; then
    rm -rf "$dir"
    echo "Deleted old version: $dir"
  fi
done

# 清理旧externals文件夹
for dir in externals.*; do
  if [[ "$dir" != "externals.$CURRENT_EXTERNALS_VER" ]]; then
    rm -rf "$dir"
    echo "Deleted old version: $dir"
  fi
done

3. 定期自动执行

  • Linux/macOS:把脚本加到cron里,比如每周日凌晨2点跑一次,避免影响Runner任务。
  • Windows:用任务计划程序创建定时任务,运行对应的批处理脚本。

注意点

  • 跑脚本前先手动确认一下当前版本的文件夹,别误删正在用的bin/externals指向的目录。
  • 先在测试Runner上试一遍脚本,没问题再推到生产环境。

内容的提问来源于stack exchange,提问作者mlcscoder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 15:13:18