如何使用 Google Cloud Shell 安排 shell 脚本?

how to schedule the shell script using Google Cloud Shell?

我有一个存储在 GCS 中的 .sh 文件。我正在尝试通过 google 云 shell.

安排 .sh 文件

我可以使用 gsutil cat gs://miptestauto/baby.sh | sh 命令 运行 相同的文件,但无法安排它。

以下是我安排文件的代码:

16 17 * * * gsutil cat gs://miptestauto/baby.sh | sh

它显​​示消息为 "auto saving..done" 但是当我使用 crontab -l

时没有显示计划的作业
# contents of .sh file 
bin/bash
bq load --source_format=CSV babynames.baby_destination13 gs://testauto/yob2010.txt name:string,gender:string,count:integer

谁能告诉我如何使用 google 云 shell 安排它。 我没有使用计算 engine/app 引擎。只是想使用云安排它 shell.

提前谢谢你:)

根据 the documentation,Cloud Shell 仅供交互使用。云 Shell 实例是基于每个用户、每个会话进行配置的,会话在闲置一小时后终止。

为了安排每天的 cron 作业,实例需要一直启动并且 运行 但云 Shell 不会发生这种情况,我相信你的作业不是 运行 因为这个。

开始时Cloud Shell, it provisions a f1-micro instance which is the same machine type you can get for free if you are eligible for “Always Free”。因此,您可以创建一个 f1-micro 实例,在其上配置 cron 作业并保留它 运行 以便它可以执行日常作业。

您可以在 https://cloud.google.com/compute/pricing#freeusage

查看免费使用限制

要安排脚本,您首先必须创建一个项目(如果您没有的话)。我假设您已经有一个项目,所以如果是这种情况,只需创建您想要安排此脚本的实例。

创建新实例:

  1. 在 Google 云平台控制台中,单击左上角带有四个横条的图标产品和服务。

  2. 在菜单上转到计算部分并将鼠标悬停在计算引擎上,然后单击虚拟机实例。

  3. 转到实例部分上方的菜单栏,在那里您会看到一个创建实例按钮。单击它并填写您希望新实例具有的配置值。您 select 的值将决定您的 VM 实例功能。您可以为新实例选择名称、区域和机器类型等值。
  4. 在“机器类型”部分中,单击下拉菜单选项卡以 select“f1-micro 实例”。
  5. 在身份和 API 访问部分,为存储 API 提供访问范围,以便您可以在需要时读取和写入存储桶;默认访问范围只允许您阅读。同时启用 BigQuery API.

  6. 创建实例并访问存储桶后,只需在新实例中创建 cron 作业:在执行 cron 作业的用户帐户中,运行 crontab -e 并将此文件编辑为 运行 将在 documentation link 之后执行 baby.sh script.The 的 cron 作业应该可以帮助您。

请注意,如果您想查看脚本的输出,您可能需要redirect it到您当前的终端。

您还可以使用 Cloud Scheduler 产品 https://cloud.google.com/scheduler,它是一个类似调度程序的无服务器托管 Cron。