首页 > 解决方案 > 在 SCP 之前列出 Google Cloud 虚拟机中的文件

问题描述

我正在尝试从谷歌云虚拟机下载特定文件。我的谷歌云命令正在搜索的大多数目录只有 1 个该名称的文件。但是,某些目录具有多个名称相似但时间戳不同的文件。是否有一个命令可以用来列出谷歌云目录中的文件,以便在使用 SCP 之前找到最新的文件名?

我目前正在通过 os.system 使用以下 f 字符串来下载文件。但是,对于目录中有多个文件的情况,这还不够好。

download_file = f"gcloud compute scp {project}:/nfs-client/example/documents/ID-{ID}/files/response* --zone=europe-west2-c ./temp-documents/ID-{ID}.xml"

os.system(download_file)

标签: pythongoogle-cloud-platformgoogle-cloud-functionsgoogle-compute-enginegcloud

解决方案


您可以使用gcloud compute ssh命令从文件夹中获取最新文件:

gcloud compute ssh example-instance --zone=us-central1-a --command "ls -t /nfs-client/example/documents/ID-{ID}/files/response* | head -1"或类似的东西

然后将您的 scp 命令替换为上述命令的输出以获取最新文件。


推荐阅读