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

Rclone备份脚本CronJob未包含新增子文件夹问题求助

排查Cron下Rclone备份遗漏新增子文件夹的问题

碰到过不少Cron和Rclone搭配的坑,你的问题核心在于Cron的执行环境和手动登录的Shell环境完全不一样——哪怕你配置了PATH,还有一堆隐藏细节会影响备份结果。下面是几个我亲测有效的排查方向和解决建议:

1. 把所有路径改成绝对路径,别依赖环境变量

手动执行时,你的Shell会自动帮你解析相对路径、默认配置文件位置,但Cron的“脑子”没这么灵活:

  • 调用Rclone时用绝对路径,比如/usr/bin/rclone sync,而不是只写rclone(哪怕你在Cron里加了PATH,有时候还是会出问题)
  • 备份源目录、Rclone配置文件都用绝对路径,比如--config /home/yourname/.config/rclone/rclone.conf,别指望Cron能找到默认的配置文件位置
  • 脚本里如果有切换目录的操作,也用绝对路径,比如cd /var/www/wordpress而不是cd wordpress

2. 检查Cron的环境变量是否缺胳膊少腿

除了PATH,HOME、USER这些变量也会影响Rclone的行为。你可以先让Cron输出它的环境变量看看:

* * * * * env > /tmp/cron_env_dump.txt

然后对比你手动执行env > /tmp/shell_env_dump.txt的结果,把缺失的关键变量加到脚本开头,比如:

#!/bin/bash
export HOME=/home/yourname
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 要是Rclone还有其他依赖的变量,也一起加上

3. 权限!权限!权限!(重要的事说三遍)

手动执行时你是当前登录用户,权限拉满,但Cron默认用当前用户执行(除非你指定了其他用户):

  • 新增的子文件夹权限是不是允许Cron用户读取?比如文件夹是700权限但属于root,那Cron肯定访问不到
  • 给Rclone加日志参数,比如--log-file /tmp/rclone_backup.log --log-level INFO,然后去日志里找有没有“permission denied”或者“directory not found”的报错,这往往是权限问题的直接线索

4. 检查Rclone的过滤规则是不是写死了

如果你的脚本里用了--include、--exclude这类过滤规则,有没有可能只写了旧文件夹,没包含新增的?比如:

# 错误示例:只同步固定的几个旧文件夹
rclone sync /source/wp-content/uploads /dest/backup --include "folder1/**" --include "folder2/**"

改成更通用的规则,比如同步所有子文件夹:

# 正确示例:同步uploads下所有内容
rclone sync /source/wp-content/uploads /dest/backup
# 要是需要过滤文件类型,就用后缀匹配,比如只同步图片
rclone sync /source/wp-content/uploads /dest/backup --include "**/*.{jpg,png,webp}"

5. 强制脚本切换到正确的工作目录

如果脚本里有基于当前目录的操作,Cron默认的工作目录(一般是用户主目录)不对会导致路径混乱。在脚本开头加一行,强制切换到脚本所在的目录:

#!/bin/bash
# 切换到脚本所在目录,失败就退出
cd "$(dirname "$0")" || exit 1
# 后面的备份命令

6. 模拟Cron环境手动测试脚本

直接用Cron的环境变量来执行脚本,这样能复现问题,更容易定位:

# 用Cron的环境模拟执行脚本
env -i PATH=/usr/bin:/bin HOME=/home/yourname USER=yourname bash /path/to/your/backup.sh

如果这样执行也出现遗漏子文件夹的问题,那你就能在手动环境下调试脚本了,比等Cron跑一次方便多了。


内容的提问来源于stack exchange,提问作者Peter Schümann

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 04:08:45