bash - 如何将我的 bash 脚本结果加载到特定位置
问题描述
如何将我的 bash 脚本生成的输出加载到 gcs 位置
就像我的 bash 命令是:
回声“你好世界”
我希望这个输出(hello world)显示在 gcs 的某个位置。
如何在bash中编写位置命令。?任何更新将不胜感激?先感谢您
解决方案
首先,您应该遵循安装 Cloud SDK的说明,以便在运行脚本的机器上使用gsutil 工具中的cp 命令。
- Cloud SDK 需要 Python;支持的版本是 Python 3(首选,3.5 到 3.8)和 Python 2(2.7.9 或更高版本)
- 运行以下之一:
从命令行运行 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
根据您的设置,您可以选择其他安装方法
- 将文件的内容提取到文件系统上的任何位置(最好是主目录)。如果您想替换现有安装,请删除现有
google-cloud-sdk
目录并将存档解压缩到相同位置。- 运行 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
推荐阅读
- c# - 使用数据库的基本身份验证
- database - 有没有办法从 mongodump 中排除数据库
- python - Pandas-根据列值在一行中查找第一次出现
- xamarin.forms - 在 Xamarin 表单中找不到方法 UIKit.UIColor UIKit.UIColor.get_SystemBlueColor()
- odata - 补丁上的 OData 404 或 403
- c++ - 插入地图
- apache-spark - Spark + AWS S3 将 JSON 读取为数据框
- php - 使用 php 的 Google 日历不显示共享日历列表
- java - Java HashSet 的哈希码唯一性
及其子集 - laravel - 如何在电子邮件 laravel 通知按钮中修复正确的 url?