我正在尝试使用 rsync 从 ncbi.nlm.nih.gov 下载大量文件,其中文件的远程路径在名为“rsyncfilepaths”的以行分隔的文件中指定。以前,对于较少数量的文件,我只是使用 将文件路径作为 rsync 的参数rsync $(tr '\n' ' ' < "rsyncfilepaths_small") /destination/path/
,但是对于“filepaths”中的大量文件,参数数量太大,导致“参数列表太长”错误。在这里,我相信 --files-from 选项可能会有所帮助,但我还没有让它工作。
我尝试使用的语法是
rsync -v --files-from=rsyncfilepaths rsync://ftp.ncbi.nlm.nih.gov /desination/path/
我尝试过在“rsyncfilepaths”中只包含实际文件名、在“ryncfilepaths”中包含完整路径(例如 rsync://ftp.ncbi.nlm.nih.gov/path/to/file)以及排除它(仅 /path/to/file)和仅包含文件名的组合。我也尝试过rsync v --files-from=rsyncfilepaths / /destination/path/
。使用第一个提到的 --files-from 语法,我没有收到任何错误消息,但没有下载任何文件,所以显然出了问题!也许有一些 rsync 专家可以帮助初学者。如果有什么不清楚的地方,请要求澄清。
编辑:
“rsyncfilepaths”文件中的示例行:
rsync://ftp.ncbi.nlm.nih.gov/genomes/all/GCA/900/128/725/GCA_900128725.1_BCifornacula_v1.0/GCA_900128725.1_BCifornacula_v1.0_genomic.fna.gz
所有线路的部分rsync://ftp.ncbi.nlm.nih.gov/genomes/all/GCA
都是相同的。