Mik*_*aro 24 amazon-ec2 cloud-init
在第一次启动 EC2 实例时cloud-init 运行用户数据脚本后,可能会写入一个状态文件,以便 cloud-init 在后续重新启动时不会再次运行该脚本。在某些情况下,我想删除此状态文件,以便再次运行用户数据脚本。它在哪里?
Mik*_*aro 32
rm /var/lib/cloud/instances/*/sem/config_scripts_user
确认工作:
为完整起见,如果您希望跟踪此 AMI [有一个父 AMI,...] 并且它们都运行cloud-init
用户数据的事实/可能性,则您只能删除当前信号量。
rm /var/lib/cloud/instance/sem/config_scripts_user
您还可以将用户数据配置为在每次启动时重新运行,而不是删除状态文件。您必须cloud_final_modules
在 userdata 脚本中使用来重新运行 userdata 脚本,为此您必须自定义 uderdata 以在 userdata 中包含多个文件。用户数据文件示例如下:
Content-Type: multipart/mixed; boundary="//"
MIME-Version: 1.0
--//
Content-Type: text/cloud-config; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="cloud-config.txt"
#cloud-config
cloud_final_modules:
- [scripts-user, always]
--//
Content-Type: text/x-shellscript; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="userdata.txt"
#!/bin/bash
/bin/echo "Hello World" >> /tmp/userdata-test.txt
--//
Run Code Online (Sandbox Code Playgroud)
这将使用户数据脚本在每个启动过程的最后一步执行。bin/echo "Hello World" >> /tmp/userdata-test.txt
这里只执行一行,将其替换为每次机器启动时需要执行的 shell 脚本。
归档时间: |
|
查看次数: |
34857 次 |
最近记录: |