如何使用 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 作业并保留它 运行 以便它可以执行日常作业。
查看免费使用限制
要安排脚本,您首先必须创建一个项目(如果您没有的话)。我假设您已经有一个项目,所以如果是这种情况,只需创建您想要安排此脚本的实例。
创建新实例:
在 Google 云平台控制台中,单击左上角带有四个横条的图标产品和服务。
在菜单上转到计算部分并将鼠标悬停在计算引擎上,然后单击虚拟机实例。
- 转到实例部分上方的菜单栏,在那里您会看到一个创建实例按钮。单击它并填写您希望新实例具有的配置值。您 select 的值将决定您的 VM 实例功能。您可以为新实例选择名称、区域和机器类型等值。
- 在“机器类型”部分中,单击下拉菜单选项卡以 select“f1-micro 实例”。
在身份和 API 访问部分,为存储 API 提供访问范围,以便您可以在需要时读取和写入存储桶;默认访问范围只允许您阅读。同时启用 BigQuery API.
创建实例并访问存储桶后,只需在新实例中创建 cron 作业:在执行 cron 作业的用户帐户中,运行 crontab -e 并将此文件编辑为 运行 将在 documentation link 之后执行 baby.sh script.The 的 cron 作业应该可以帮助您。
请注意,如果您想查看脚本的输出,您可能需要redirect it到您当前的终端。
您还可以使用 Cloud Scheduler 产品 https://cloud.google.com/scheduler,它是一个类似调度程序的无服务器托管 Cron。
我有一个存储在 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 作业并保留它 运行 以便它可以执行日常作业。
查看免费使用限制要安排脚本,您首先必须创建一个项目(如果您没有的话)。我假设您已经有一个项目,所以如果是这种情况,只需创建您想要安排此脚本的实例。
创建新实例:
在 Google 云平台控制台中,单击左上角带有四个横条的图标产品和服务。
在菜单上转到计算部分并将鼠标悬停在计算引擎上,然后单击虚拟机实例。
- 转到实例部分上方的菜单栏,在那里您会看到一个创建实例按钮。单击它并填写您希望新实例具有的配置值。您 select 的值将决定您的 VM 实例功能。您可以为新实例选择名称、区域和机器类型等值。
- 在“机器类型”部分中,单击下拉菜单选项卡以 select“f1-micro 实例”。
在身份和 API 访问部分,为存储 API 提供访问范围,以便您可以在需要时读取和写入存储桶;默认访问范围只允许您阅读。同时启用 BigQuery API.
创建实例并访问存储桶后,只需在新实例中创建 cron 作业:在执行 cron 作业的用户帐户中,运行 crontab -e 并将此文件编辑为 运行 将在 documentation link 之后执行 baby.sh script.The 的 cron 作业应该可以帮助您。
请注意,如果您想查看脚本的输出,您可能需要redirect it到您当前的终端。
您还可以使用 Cloud Scheduler 产品 https://cloud.google.com/scheduler,它是一个类似调度程序的无服务器托管 Cron。