GCP Linux虚拟机开机自动执行Python脚本的启动脚本求助
GCP Linux虚拟机计划启停+开机自动运行Python脚本实现方案
一、配置计划启停
- 登录GCP控制台,进入Compute Engine -> 实例页面
- 选中目标虚拟机,点击顶部「实例调度器」
- 点击「创建调度器」,分别配置启动、停止规则:
- 启动调度:设置触发时间、时区,动作选「启动实例」,关联目标VM
- 停止调度:动作选「停止实例」,其余配置同理
- 保存后即可实现自动启停
二、编写并配置开机启动脚本
1. 创建启动脚本文件
在虚拟机上执行以下命令创建脚本(以Debian/Ubuntu为例,其他发行版调整包管理命令):
sudo nano /opt/startup_script.sh
粘贴以下内容:
#!/bin/bash # 等待系统初始化完成,避免依赖服务未就绪 sleep 60 # 检查并安装screen(CentOS/RHEL替换为yum install screen) if ! command -v screen &> /dev/null; then apt update && apt install -y screen fi # 后台创建screen会话并运行根目录下的main.py screen -dmS bot python3 /root/main.py
- 若使用Python2,将
python3替换为python - 确保
/root/main.py路径正确,且脚本自身有执行权限
2. 给脚本添加执行权限
sudo chmod +x /opt/startup_script.sh
3. 配置GCP启动脚本
- 回到GCP控制台的虚拟机详情页,点击「编辑」
- 滚动到「自定义元数据」,点击「添加项」
- 键输入
startup-script,值输入/opt/startup_script.sh(也可直接将脚本内容粘贴到值中) - 保存修改后重启虚拟机测试
三、验证运行状态
- SSH登录虚拟机后,执行
screen -r bot,若能进入会话看到脚本输出,说明运行正常 - 排查问题可查看启动脚本日志:
journalctl -u google-startup-scripts.service
内容的提问来源于stack exchange,提问作者LWB
相关产品推荐
相关产品推荐

