| # ============================================================================= | |
| # rclone 定时备份:把 $HERMES_HOME 同步到 $RCLONE_REMOTE | |
| # 排除 logs(体积大且可重建)和 skills(官方自带可重建,数量多易触发 R2 501)。 | |
| # copy 仅复制新增/变更文件,不删除远端文件,避免权限问题。 | |
| # 失败下次重试。 | |
| # ============================================================================= | |
| set -u | |
| [ -z "${RCLONE_REMOTE:-}" ] && exit 0 | |
| [ -z "${HERMES_HOME:-}" ] && exit 0 | |
| echo "[rclone] sync ${HERMES_HOME} -> ${RCLONE_REMOTE} ($(date -u +%FT%TZ))" | |
| rclone copy "$HERMES_HOME" "$RCLONE_REMOTE" \ | |
| --exclude "logs/**" \ | |
| --exclude "skills/**" \ | |
| --exclude ".git/**" \ | |
| --exclude ".bashrc" \ | |
| --exclude ".bash_logout" \ | |
| --exclude ".profile" \ | |
| --s3-list-version 1 \ | |
| --transfers 4 \ | |
| --checkers 8 \ | |
| --stats=30s \ | |
| --stats-one-line \ | |
| || echo "[rclone] sync 失败,将在下次间隔重试" |