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

如何使用rsync的--files-from选项下载指定文件列表?

解决rsync通过--files-from下载指定文件列表的问题

正确的文件列表写法

你的文件列表应该使用相对于远程源目录的路径,而非绝对路径或带服务器前缀的路径。

假设你的远程源目录是/home/remote/folder,那么files.txt的正确内容应为:

file1
file2
# 若文件在子目录下,直接写相对路径即可
subdir/file3

正确的rsync命令

结合sshpass的完整执行命令如下:

sshpass -p "my_pwd" rsync -av --partial --progress --files-from=files.txt <usr>@<remote>:/home/remote/folder/ /home/local/folder/

之前尝试的错误原因

  1. 第一种尝试的问题:你指定的远程源是<usr>@<remote>(未限定到目标目录),同时文件列表用了远程绝对路径,rsync会从远程根目录查找这些路径,自然找不到对应文件。
  2. 第二种尝试的问题:完全省略了远程源参数,rsync没有文件来源,必然执行失败。

额外注意事项

  • 如果下载的文件包含特殊字符(如空格),在files.txt中直接写原路径即可,无需额外转义。
  • 若要同步目录结构中的指定文件,无需额外加--recursive,只要文件列表中的相对路径包含子目录,rsync会自动在本地创建对应的目录结构。

内容的提问来源于stack exchange,提问作者roschach

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 04:42:43