【发布时间】:2015-06-13 21:15:08
【问题描述】:
我正在尝试实现一个自动化代码,以通过 Crontab 在我的 Google Cloud 帐户中关闭和启动 VM 实例。操作系统是 Ubuntu 12 lts,并安装了 Google 服务帐户,因此它可以处理我的 Google 云帐户上的读/写。
我的实际代码在这个文件/home/ubu12lts/cronfiles/resetvm.sh中
#!/bin/bash
echo Y | gcloud compute instances stop my-vm-name --zone us-central1-a
sleep 120s
gcloud compute instances start my-vm-name --zone us-central1-a
echo "completed"
当我这样调用上述文件时,
$ bash /home/ubu12lts/cronfiles/resetvm.sh
它完美地工作并且完成了工作。
现在我想在 cron 中设置它,让它每小时自动执行一次。所以我做到了
$ sudo crontab -e
并在 cron 中添加了这段代码
0 * * * * /bin/sh /home/ubu12lts/cronfiles/resetvm.sh >>/home/ubu12lts/cron.log
并使脚本可执行
chmod +x /home/ubu12lts/cronfiles/resetvm.sh
我还通过添加带有示例消息的创建 .txt 文件的示例命令来测试 crontab,它运行良好。
但是上面的 gcloud SDK 代码不能通过 cron 运行。在我的 GC 计算引擎中,VM 既不会停止也不会启动。
有人可以帮忙吗?
非常感谢。
【问题讨论】:
标签: cron google-cloud-platform gcloud