使用 rclone 从 alist 远程复制文件到本地(含后台运行指南)

假设你已经在 rclone config 中配置了名为 alist 的远程,并指向需要的云盘目录。


一、基本复制命令

使用 rclone 将远程文件夹复制到本地:

rclone copy alist:远程/文件夹路径 /本地/目标路径 -P --log-file=/path/to/logfile --log-level=INFO

参数说明

  • alist:远程/文件夹路径 rclone 中配置的远程路径,如:
alist:/移动云盘/文件夹
  • /本地/目标路径 想要复制到的本地目录。
  • -P 显示复制进度条。
  • --log-file=/path/to/logfile 将日志写入指定文件。
  • --log-level=INFO 日志级别,可改为 ERRORDEBUG 等。

二、使用示例

alist:/移动云盘/电子书 同步到本地 /data/ebooks

rclone copy alist:/移动云盘/电子书 /data/ebooks \
  -P --log-file=/var/log/rclone_copy.log --log-level=INFO

三、可选参数

1. 仅测试(不执行操作)

--dry-run

2. 排除文件或目录

示例:排除所有 MP4 文件

--exclude "*.mp4"

示例(带排除)

rclone copy alist:/移动云盘/电子书 /data/ebooks \
  -P --exclude "*.mp4" \
  --log-file=/var/log/rclone_copy.log --log-level=INFO

四、如果使用的是 rclone 挂载

若你用 rclone mount 挂载了 alist 目录,例如挂载在 /mnt/alist,可以直接从本地路径复制:

rclone copy /mnt/alist/移动云盘/电子书 /data/ebooks \
  -P --log-file=/var/log/rclone_copy.log --log-level=INFO

五、让 rclone 在后台运行(nohup)

如果你希望复制任务在后台执行,即使你退出 SSH 也继续运行,可以用:

nohup rclone copy alist:/移动云盘/电子书 /data/ebooks \
  -P --log-file=/var/log/rclone_copy.log --log-level=INFO &

参数说明

  • nohup 让任务忽略挂起信号(SIGHUP),退出终端后仍运行。
  • & 将任务放入后台运行。
  • 日志文件 即使任务在后台,你也可以通过日志了解执行情况。

六、重定向输出到自定义日志

默认情况下,nohup 输出到 nohup.out。你可以指定自定义输出:

nohup rclone copy alist:/移动云盘/电子书 /data/ebooks \
  -P --log-file=/var/log/rclone_copy.log --log-level=INFO \
  > /path/to/output.log 2>&1 &

参数解释

  • > /path/to/output.log 标准输出写入该文件。
  • 2>&1 将错误输出也写入同一个文件。

七、检查 rclone 是否在后台运行

ps aux | grep rclone

八、停止运行中的后台任务

找到进程 ID 后执行:

kill <进程ID>

例如:

ps aux | grep rclone
kill 12345