Ostatnio aktywny 3 months ago

1Panel 第三方 App Store 同步更新脚本

wojack's Avatar AhHui zrewidował ten Gist 3 months ago. Przejdź do rewizji

Brak zmian

AhHui zrewidował ten Gist 3 months ago. Przejdź do rewizji

Brak zmian

AhHui zrewidował ten Gist 3 months ago. Przejdź do rewizji

Brak zmian

AhHui zrewidował ten Gist 3 months ago. Przejdź do rewizji

1 file changed, 42 insertions

sync-1panel-appstore.sh(stworzono plik)

@@ -0,0 +1,42 @@
1 + #!/bin/bash
2 + # 1Panel 第三方应用商店同步脚本(轻量优化版)
3 + # 仅同步应用,不执行镜像替换
4 +
5 + # 启用严格模式:遇到错误、未定义变量、管道错误时立即退出
6 + set -euo pipefail
7 +
8 + # 设置字段分隔符,防止文件名含空格或换行符时出错
9 + IFS=$'\n\t'
10 +
11 + # 配置路径
12 + GIT_REPO="https://cnb.cool/gyhwd.top/1panel-appstore" # 第三方应用商店地址
13 + TMP_DIR="/opt/1panel/resource/apps/local/appstore-localApps"
14 + LOCAL_APPS_DIR="/opt/1panel/resource/apps/local"
15 +
16 + # 确保脚本退出时自动清理临时目录(即使中途出错也会执行)
17 + # trap 'rm -rf "$TMP_DIR"' EXIT
18 + trap 'echo "🧹 清理临时目录: $TMP_DIR"; rm -rf "$TMP_DIR"' EXIT
19 +
20 + # 开始克隆应用商店仓库
21 + echo "📥 Cloning appstore repo..."
22 + git clone "$GIT_REPO" "$TMP_DIR"
23 +
24 + # 创建本地应用目录(如果不存在)
25 + mkdir -p "$LOCAL_APPS_DIR"
26 +
27 + # 遍历所有应用并同步到本地
28 + for app_path in "$TMP_DIR/apps/"*; do
29 + # 跳过非目录项
30 + [ -d "$app_path" ] || continue
31 +
32 + app_name=$(basename "$app_path")
33 + local_app_path="$LOCAL_APPS_DIR/$app_name"
34 +
35 + echo "🔁 Updating app: $app_name"
36 + # 如果本地已存在同名应用,先删除
37 + [ -d "$local_app_path" ] && rm -rf "$local_app_path"
38 + # 复制新版本应用
39 + cp -r "$app_path" "$local_app_path"
40 + done
41 +
42 + echo "✅ Sync completed."
Nowsze Starsze