まあ、恒例のトラブル発生ですよ。
せっかくRaspberryPi zeroにgcloud sdk導入したのに
cronで動かそうとしたら動かなくて。
一つは時間設定が日本時間になってなかった。
これは簡単に解決。
Dec 28 06:00:01 raspberrypi CRON[2959]: (pi) CMD ([2960] /usr/bin/gcloud compute instances start <instance>)
Dec 28 06:00:17 raspberrypi CRON[2959]: (CRON) error (grandchild #2960 failed with exit status 1)
Dec 28 06:00:17 raspberrypi CRON[2959]: (pi) END ([2960] /usr/bin/gcloud compute instances start <instance>)
この状態だと何のエラーかわからないので色々検索してみた。
Raspberry Pi Zero WHで作った定点カメラを改良したい②画像に日付を付ける – dalomo
この記事を参考にcrontabのコマンドを変更
30 * * * * /usr/bin/gcloud compute instances start <instance> >> /tmp/test.log 2>&1
実行後覗いてみたところ
ERROR: (gcloud.compute.instances.start) Underspecified resource [instance]. Specify the [--zone] flag.
というログが出てきた。
要はzone設定されてないからインスタンスが見つからんぞってことらしい。
command line interface - ERROR: (gcloud.compute.instances.stop) Could not fetch resource - Stack Overflow
みたいなことがこの記事に書いてあった。
--zone を指定してやればいいみたいでもある
なので
cronを
30 * * * * /usr/bin/gcloud compute instances start <instance> --zone asia-east1-a >> /tmp/test.log 2>&1)
に変更
Starting instance(s) <instance>...
.......done.
Updated [https://compute.googleapis.com/compute/v1/projects/<project_name>/zones/asia-east1-a/instances/instance].
Instance internal IP is 11.111.1.1.1
Instance external IP is 11.1.1.111.1
動いたー!
全然情報なくて一歩一歩解決に向けてやっていきました。
もし似たようなお困りごとの方のために備忘録として残します。