为什么启动脚本在 Google 计算引擎虚拟机中运行多次?

为什么启动脚本在 Google 计算引擎虚拟机中运行多次?

我不明白为什么我的启动脚本至少运行多次
,我想是的,因为今天早上 6:00 启动虚拟机后,
我刚刚登录谷歌云控制台,检查了日志,
发现启动脚本运行了多次,
我以为它只运行一次 :/

Nov 21 06:57:11 ubuntu startup-script: INFO startup-script: stuff...
Nov 21 06:57:11 ubuntu startup-script: INFO startup-script: stuff...
Nov 21 06:57:11 ubuntu startup-script: INFO startup-script: stuff...
Nov 21 07:12:17 ubuntu startup-script: INFO startup-script: stuff...
Nov 21 07:12:17 ubuntu startup-script: INFO startup-script: stuff...
Nov 21 07:12:17 ubuntu startup-script: INFO startup-script: stuff...
Nov 21 07:27:10 ubuntu startup-script: INFO startup-script: stuff...
Nov 21 07:27:10 ubuntu startup-script: INFO startup-script: stuff...
Nov 21 07:27:10 ubuntu startup-script: INFO startup-script: stuff...
Nov 21 07:42:13 ubuntu startup-script: INFO startup-script: stuff...
...

和更多

知道为什么虚拟机会有这种行为吗?

请注意,我startup-script在实例中添加了自定义元数据:

#! /bin/bash
sudo -iu user2 Desktop/script.sh

答案1

我认为如果您希望一次运行,您需要在脚本中添加检查器。例如:

if [[ -f /etc/startup_was_launched ]]; then exit 0; fi
touch /etc/startup_was_launched 

或者

if [ ! -f /etc/startup_was_launched ];then
...
sudo touch /etc/startup_was_launched
fi

相关内容