我最近开始在我的一些项目中使用 Google 的计算引擎,问题是我的启动脚本似乎不起作用,由于某种原因我的脚本不起作用,虚拟机具有启动脚本元数据并且工作正常当我手动运行它时:
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 命令处,有什么想法吗?
Thanks!
添加到康布的答案:
通过以下方式检查容器优化操作系统中的日志
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'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)