首页 > 解决方案 > 如何将我的 bash 脚本结果加载到特定位置

问题描述

如何将我的 bash 脚本生成的输出加载到 gcs 位置

就像我的 bash 命令是:

回声“你好世界”

我希望这个输出(hello world)显示在 gcs 的某个位置。

如何在bash中编写位置命令。?任何更新将不胜感激?先感谢您

标签: bashgoogle-cloud-storagescript

解决方案


首先,您应该遵循安装 Cloud SDK的说明,以便在运行脚本的机器上使用gsutil 工具中的cp 命令。

  1. Cloud SDK 需要 Python;支持的版本是 Python 3(首选,3.5 到 3.8)和 Python 2(2.7.9 或更高版本)
  2. 运行以下之一:
  • 从命令行运行 Linux 64 位存档文件:

    curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-362.0.0-linux-x86_64.tar.gz

  • 对于 32 位存档文件,运行:

    curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-362.0.0-linux-x86.tar.gz

  • 根据您的设置,您可以选择其他安装方法

  1. 将文件的内容提取到文件系统上的任何位置(最好是主目录)。如果您想替换现有安装,请删除现有 google-cloud-sdk 目录并将存档解压缩到相同位置。
  2. 运行 gcloud init 初始化 SDK: ./google-cloud-sdk/bin/gcloud init

安装 Cloud SDK 后,您应该创建一个存储桶上传包含脚本生成的输出的文件。

使用gsutil mb命令和唯一名称创建存储桶:

gsutil mb -b on -l us-east1 gs://my-awesome-bucket/

这使用了一个名为“my-awesome-bucket”的存储桶。您必须选择自己的全局唯一存储桶名称。

然后,您可以将输出重定向到本地文件并上传到 Google Cloud Storage,如下所示:

#!/bin/bash
TIMESTAMP=$(date +'%s')
BUCKET="my-awesome-bucket"
echo "Hello world!" > "logfile.$TIMESTAMP.log"
gsutil cp logfile.$TIMESTAMP.log gs://$BUCKET/logfile.$TIMESTAMP.log

推荐阅读