我正在使用加拿大计算公司的 HPC 集群,想要将文件从集群下载到本地目录。我参考了从 HPC 上传和下载文件获取说明,并在 Windows 命令提示符(不是 HPC 集群终端)上输入以下命令:
scp [email protected]:/scratch/file.txt /path/to/local/directory
这需要我每次想下载文件时都登录。
由于我正在处理来自多个目录的大量文件,因此我想避免每次都登录,因为这非常耗时。此外,如果我一个接一个地输入下载内容,下载将按系列(而不是并行)进行,这也需要很长时间。谁能解释一下如何将 HPC 集群中的多个目录中的文件并行下载到本地目录,而无需每次都登录?
有几种可能的解决方案:
to_retrieve
目录中的某个位置,然后创建一个存档文件,例如
$ tar cvfz my_files.tgz ./to_retrieve
或
$ zip -r my_files to_retriev
然后只需 scp
这个单个存档文件,您将在 Windows 计算机上解压一次。
scp
支持各种unix通配符和递归选项,因此您可以利用它,而不用逐个复制文件。例如,假设您在第一个解决方法中收集了要在
to_retrieve
目录中检索的所有文件,则可以一次复制所有文件,而无需像这样存档:
$ scp -r [email protected]:/path/to/to_retrieve /path/to/local/directory
注意: 两种解决方法都会要求您输入密码,但所有副本只需输入一次密码。
由您决定什么最适合您。