ubuntu ec2-instance 上的 cloud-init 每次启动脚本
Posted
技术标签:
【中文标题】ubuntu ec2-instance 上的 cloud-init 每次启动脚本【英文标题】:cloud-init per-boot script on ubuntu ec2-instance 【发布时间】:2012-04-26 18:05:37 【问题描述】:我正在尝试在 ubuntu 11.10 ec2 实例上使用 cloud-init 启动脚本。
我将脚本script.sh
放入文件夹/var/lib/cloud/scripts/per-boot
。script.sh
的内容很简单:
#/!/bin/sh 回声“测试”
重启后出现以下错误:
run-parts: 执行失败 /var/lib/cloud/scripts/per-boot/script.sh: 执行格式错误 运行部分:/var/lib/cloud/scripts/per-boot/script.sh 退出并返回代码 1 2012-04-14 19:10:52,642 - cc_scripts_per_boot.py [警告]:无法在 /var/lib/cloud/scripts/per-boot 中运行部件 2012-04-14 19:10:52,648 - __init__.py [警告]:回溯(最近一次通话最后): 文件“/usr/lib/python2.7/dist-packages/cloudinit/CloudConfig/__init__.py”,第 108 行,在 run_cc_modules cc.handle(名称,run_args,频率=频率) 文件“/usr/lib/python2.7/dist-packages/cloudinit/CloudConfig/__init__.py”,第 72 行,在句柄中 [名称,self.cfg,self.cloud,cloudinit.log,args]) 文件“/usr/lib/python2.7/dist-packages/cloudinit/__init__.py”,第 309 行,在 sem_and_run 函数(*参数) 文件“/usr/lib/python2.7/dist-packages/cloudinit/CloudConfig/cc_scripts_per_boot.py”,第 27 行,在句柄中 util.runparts(runparts_path) 运行部分中的文件“/usr/lib/python2.7/dist-packages/cloudinit/util.py”,第 140 行 raise subprocess.CalledProcessError(sp.returncode,cmd) CalledProcessError: Command '['run-parts', '--regex', '.*', '/var/lib/cloud/scripts/per-boot']' 返回非零退出状态 1 2012-04-14 19:10:52,648 - __init__.py [错误]:每次启动脚本的配置处理,无,[] 失败 cloud-init 启动于 2012 年 4 月 14 日星期六 19:10:52 +0000 完成。上升 3.70 秒 2012-04-14 19:10:52,672 - cloud-init-cfg [错误]:运行 cloud_config [final] 时出错:['scripts-per-boot'] 运行 cloud_config [final] 时出错:['scripts-per-boot']
有什么解决办法吗?
【问题讨论】:
【参考方案1】:我相信您的问题与#/!/bin/sh
不是有效的输入类型有关。需要把#后面的/去掉。
#!/bin/sh
echo "test"
如果您在此之后仍然看到问题,请告诉我。
【讨论】:
谢谢,这是典型的简单而愚蠢的错误之一:D以上是关于ubuntu ec2-instance 上的 cloud-init 每次启动脚本的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的 ec2-instance 被 elastic-beanstalk 终止?
AWS EC2-Instance 备份/终止/启动的最佳实践是啥
关于开-关机以及重启-EC2-instance-所需要的最小的权限-Policies写法
如何在ubuntu上将open cl安装到vega 8移动显卡?