如何安排Shell命令在GCP上的VM实例中运行?

问题描述

我想安排一个VM实例中的shell命令每周运行一次。

它如何工作:

  • 每周一次,Cloud Scheduler会调用pub子触发器
  • Pub子然后将消息推送到VM实例的HTTP端点
  • 这反过来会导致shell命令运行

我在第一步和第二步都没问题,但是我在努力让shell命令执行。

我考虑过的一件事是将Python下载到VM实例,然后创建一个运行os系统命令的Python脚本。

import os
cmd = "some command"
os.system(cmd)

但是,尽管我的问题仍然是如何获得HTTP POST请求以使Python脚本运行?

解决方法

我会做不同的事情:

  • Cloud Scheduler调用一个Cloud Function(或Cloud Run)
  • Cloud Function启动instance with a startup script,该批处理运行批处理,然后关闭。

如果您需要将参数传递给脚本,则可以在创建实例时(或在实例已经运行时)使用实例元数据来实现。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...