我们已经准备好了,你呢?

2023我们与您携手共赢,为您的企业形象保驾护航!


喜讯:国内、香港、海外云服务器租用特惠活动,2核/4G/10M仅需31元每月,点击抢购>>>

点击这里点击这里进入阿里云ECS官方页面,立即免费体验云服务器ECS>>>

点击这里阿里云老客户点击这里申请VIP账号,享终身8折优惠(续费也打折)>>>

本文介绍Linux实例的自定义数据未生效,系统日志提示"Failed to run module scripts-user(scripts in /var/lib/cloud/instance/scripts)"错误时的问题原因及解决方案。

问题现象

Linux实例设置自定义数据并重启实例后发现自定义数据未生效,查看系统日志提示错误信息:"Failed to run module scripts-user(scripts in /var/lib/cloud/instance/scripts)",表示Linux实例启动时cloud-init中的user-data执行失败。

image.png

关于如何查看系统日志的具体操作,请参见查看实例的系统日志和屏幕截图。

问题原因

该问题很可能是由于实例内部的User-Data脚本内容出现错误,包括但不限于脚本内容语法格式不正确或脚本本身执行失败等。

解决方案

您可以通过多种脚本准备Linux实例的自定义数据,不同脚本类型的特点以及规范都存在差异。请您根据实际情况,参考对应脚本类型的自定义数据规范,对脚本的内容逐步进行排查。

User-Data脚本

Cloud Config数据

Include文件

Gzip压缩内容

Upstart Job

User-Data脚本传入Linux实例后直接作为Shell脚本执行。User-Data脚本具有以下特点:

  • 首行以#!开头。

  • 仅在实例首次启动时运行一次。

示例User-Data脚本:

 

#!/bin/shecho "Hello World. The time is now $(date -R)!" | tee /root/userdata_test.txt

示例User-Data脚本的效果为在实例首次启动时向userdata_test.txt写入系统时间。

说明

当User-Data脚本执行遇到问题时,可以通过云助手公共命令ACS-ECS-UserData-Check-for-linux.sh来获取失败相关的错误日志。如果返回有错误信息表示脚本执行有问题,如果没有返回错误信息表示执行没有报错,需要排查其他方面。关于云助手公共命令的更多信息,请参见查看和执行公共命令。

关于更多自定义数据示例,请参见使用实例自定义数据(Linux实例)。




推荐:TOP云智能建站优惠活动,仅880元即可搭建一个后台管理五端合一的智能网站(PC网站、手机网站、百度智能小程序、微信小程序、支付宝小程序),独享百度搜索SEO优势资源,让你的网站不仅有颜值有排面,更有排名,可以实实在在为您带来效益,请点击进入TOP云智能建站>>>,或咨询在线客服了解详情。


我们已经准备好了,你呢?

2023我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

131-3501-0006

上班时间

周一到周五

公司电话

130-0743-9476

二维码
线