Вы также можете настроить свои пользовательские данные для повторного запуска при каждой загрузке, вместо удаления файла состояния. Вы должны использовать cloud_final_modules
в своем сценарии userdata для повторного запуска сценария userdata, и для этого вам нужно настроить uderdata, чтобы иметь множество файлов в userdata. Пример файла 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
--//
Это заставит скрипт userdata выполняться на последнем шаге каждого процесса загрузки. Здесь bin/echo "Hello World" >> /tmp/userdata-test.txt
нужно выполнить только одну строку , замените ее своим сценарием оболочки, который должен выполняться каждый раз при загрузке машины.