Update tools/hf-backup.sh
Browse files- tools/hf-backup.sh +6 -0
tools/hf-backup.sh
CHANGED
|
@@ -1,4 +1,5 @@
|
|
| 1 |
#!/bin/sh
|
|
|
|
| 2 |
|
| 3 |
set -e
|
| 4 |
|
|
@@ -8,10 +9,13 @@ log(){ echo "[$(TS)] [hf-backup] $*"; }
|
|
| 8 |
HF_TOKEN="${HF_TOKEN:-}"
|
| 9 |
DATASET_ID="${DATASET_ID:-}"
|
| 10 |
|
|
|
|
| 11 |
SYNC_INTERVAL="${SYNC_INTERVAL:-3600}"
|
| 12 |
MAX_BACKUPS="${MAX_BACKUPS:-10}"
|
| 13 |
BACKUP_PREFIX="${BACKUP_PREFIX:-crs_backup}"
|
|
|
|
| 14 |
BACKUP_PATHS="${BACKUP_PATHS:-/app/data}"
|
|
|
|
| 15 |
BACKUP_EXCLUDE="${BACKUP_EXCLUDE:-/app/data/init.json,/app/data/users.json,*.db}"
|
| 16 |
|
| 17 |
HF_PY="/app/tools/hf_backup.py"
|
|
@@ -28,9 +32,11 @@ mk_archive() {
|
|
| 28 |
ts="$(date +%Y%m%d_%H%M%S)"
|
| 29 |
archive="${TMP_DIR}/${BACKUP_PREFIX}_${ts}.tar.gz"
|
| 30 |
|
|
|
|
| 31 |
EX=#
|
| 32 |
IFS=','; for x in $BACKUP_EXCLUDE; do EX="$EX --exclude=$x"; done; unset IFS
|
| 33 |
|
|
|
|
| 34 |
IFS=','; set -- $BACKUP_PATHS; unset IFS
|
| 35 |
|
| 36 |
log "创建归档:$archive"
|
|
|
|
| 1 |
#!/bin/sh
|
| 2 |
+
# shellcheck shell=sh
|
| 3 |
|
| 4 |
set -e
|
| 5 |
|
|
|
|
| 9 |
HF_TOKEN="${HF_TOKEN:-}"
|
| 10 |
DATASET_ID="${DATASET_ID:-}"
|
| 11 |
|
| 12 |
+
# 备份相关配置
|
| 13 |
SYNC_INTERVAL="${SYNC_INTERVAL:-3600}"
|
| 14 |
MAX_BACKUPS="${MAX_BACKUPS:-10}"
|
| 15 |
BACKUP_PREFIX="${BACKUP_PREFIX:-crs_backup}"
|
| 16 |
+
# 建议:只备份 /app/data,必要时也可加入 /app/logs
|
| 17 |
BACKUP_PATHS="${BACKUP_PATHS:-/app/data}"
|
| 18 |
+
# **默认排除敏感文件**(init.json 存放管理员、users.json 用户列表)
|
| 19 |
BACKUP_EXCLUDE="${BACKUP_EXCLUDE:-/app/data/init.json,/app/data/users.json,*.db}"
|
| 20 |
|
| 21 |
HF_PY="/app/tools/hf_backup.py"
|
|
|
|
| 32 |
ts="$(date +%Y%m%d_%H%M%S)"
|
| 33 |
archive="${TMP_DIR}/${BACKUP_PREFIX}_${ts}.tar.gz"
|
| 34 |
|
| 35 |
+
# 构建 --exclude 参数
|
| 36 |
EX=#
|
| 37 |
IFS=','; for x in $BACKUP_EXCLUDE; do EX="$EX --exclude=$x"; done; unset IFS
|
| 38 |
|
| 39 |
+
# 将 BACKUP_PATHS 逗号分隔转为空格
|
| 40 |
IFS=','; set -- $BACKUP_PATHS; unset IFS
|
| 41 |
|
| 42 |
log "创建归档:$archive"
|