【问题标题】:how to schedule the shell script using Google Cloud Shell?如何使用 Google Cloud Shell 安排 shell 脚本?
【发布时间】:2018-04-12 14:22:59
【问题描述】:

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

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

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

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

它显示消息为“自动保存..完成”,但当我使用 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

请谁能告诉我如何使用谷歌云外壳安排它。 我没有使用计算引擎/应用程序引擎。只是想使用 Cloud Shell 来安排它。

提前谢谢你:)

【问题讨论】:

  • 我通常将 AppEngine 标准环境用于此类任务,它作为无服务器解决方案工作,您可以在大多数情况下以任何您想要的方式与 GCP 交互。
  • 谢谢你 Willian Funks :) 你编辑得很好.. .. 你有用于你的环境的步骤吗..你能分享更多关于你使用的 appEngine 环境的信息吗..我会喜欢试一试!!谢谢你
  • 我有这个 repository 我正在使用 GAE cron 功能,它可能会指导您如何设置一个(但它仍在开发中)。除此之外official docs也不错。

标签: shell cron google-cloud-platform google-bigquery google-cloud-shell


【解决方案1】:

根据the documentation,Cloud Shell 仅供交互使用。 Cloud Shell 实例按每个用户、每个会话进行预配,会话在一个小时不活动后终止。

为了安排每日 cron 作业,实例需要一直启动并运行,但 Cloud Shell 不会发生这种情况,我相信您的作业因此没有运行。

当您启动Cloud Shell 时,它会提供一个f1-micro 实例,如果您有资格获得“Always Free”,则该实例与您可以获得for free 的机器类型相同。因此,您可以创建一个 f1-micro 实例,在其上配置 cron 作业并使其运行,以便它可以执行日常作业。

您可以在https://cloud.google.com/compute/pricing#freeusage查看免费使用限制

【讨论】:

  • 感谢您的帮助...如果我想安排文件,我该怎么做?请帮帮我:)谢谢你
【解决方案2】:

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

创建新实例:

  1. 在 Google Cloud Platform Console 中,点击左上角带有四个栏的图标产品和服务。

  2. 在菜单上转到“计算”部分,将鼠标悬停在 Compute Engine 上,然后单击 VM 实例。

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

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

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 2018-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-27
      • 2013-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多