我最近开始为我的一些项目使用Google的计算引擎。问题是我的启动脚本似乎不起作用,由于某种原因,我的脚本就是不起作用,VM有启动脚本元数据,当我手动运行它时,它运行得很好:
sudo google_metadata_script_runner --script-type startup
以下是我尝试在启动时运行的程序:
#!/bin/bash
sudo apt-get update
sudo rm -f Eve.jar
sudo rm -f GameServerStatus.jar
wget <URL>/Eve.jar
wget <URL>/GameServerStatus.jar
sudo chmod 7777 Eve.jar
sudo chmod 7777 GameServerStatus.jar
screen -dmS Eve sh Eve.sh
screen -dmS PWISS sh GameServerStatus.sh
日志中也没有错误,只是似乎在chmod或Screen命令处停止了,有什么想法吗?
谢谢!
添加到康布的答案:
检查容器优化操作系统中的日志
sudo journalctl -u google-startup-scripts.service
显示脚本找不到用户。经过长时间的调试,我终于在sudo之前添加了一个延迟,现在它可以工作了。脚本运行时用户似乎未注册。
#! /bin/bash
sleep 10 # wait...
cut -d: -f1 /etc/passwd > /home/user/users.txt # make sure the user exists
cd /home/user/project # cd does not work after sudo, do it before
sudo -u user bash -c '
source /home/user/.bashrc &&
<your-task> &&
date > /home/user/startup.log'
上一篇:加载数据集时,是什么触发ConstraintException?加载、数据、ConstraintException
下一篇:无法添加ppa:';ppa:~ubuntu-desktop/ubuntu/ubuntu-make';amp、ppa、make、desktop