腾讯云服务器设置自定义数据(Linux )

在创建腾讯云服务器时,用户可以通过指定自定义数据,进行配置实例。当云服务器首次启动时,自定义数据将以文本的方式传递到云服务器中,并执行该文本。一次购买多台云服务器,自定义数据会在所有的云服务器首次启动时运行该文本。本文以Linux云服务器首次启动时,通过传递Shell格式的脚本为例。

  注意事项

1、支持自定义数据的Linux操作系统包括:

  • 64位操作系统:CentOS 6.8 64位及以上、Ubuntu Server 14.04.1 LTS 64位及以上、suse42.3x86_64
  • 32位操作系统:CentOS 6.8 32位及以上

2、仅限首次启动云服务器时,通过传递文本执行命令。

3、传递的文本必须经过Base64编码。请在Linux环境下进行编码,避免格式不兼容。

4、使用root帐号执行用户数据输入的文本,在脚本中不使用sudo命令。您创建的任何文件都将归root所有,如果您需要非根用户具有文件访问权,请在脚本中修改权限。

5、在启动时,执行自定义数据中指定的任务会增加启动服务器所需的时间。建议您等待几分钟,并在任务完成后,测试任务是否已成功执行。

6、本示例中,Shell脚本必须以#!字符以及指向要读取脚本的解释器的路径(通常为/bin/bash)开头。

  操作步骤

一、编写Shell脚本

1、执行以下命令,创建一个名称“script_text.sh”的Shell脚本文件。

vi script_text.sh

2、按i切换至编辑模式,参考以下内容,写入并保存“script_text.sh”脚本文件。

#!/bin/bash
echo "Hello Tencent Cloud."

二、使用Base64编码脚本文件

1、执行以下命令,对“script_text.sh”脚本文件进行Base64编码操作。

# 对脚本进行 Base64 编码操作
base64 script_text.sh

返回以下信息:

# 编码之后的结果
IyEvYmluL2Jhc2gKZWNobyAiSGVsbG8gVGVuY2VudCBDbG91ZC4iCg==

2、执行以下命令,验证对脚本进行Base64编码的返回结果。

# 对返回的结果进行Base64解码,以验证是否为需要执行的命令
echo "IyEvYmluL2Jhc2gKZWNobyAiSGVsbG8gVGVuY2VudCBDbG91ZC4iCg==" | base64 -d

三、传递文本

我们提供多种启动实例的方式,主要分为以下两种情况。请根据您的实际需求,进行选择:

通过官网或控制台传递

1、参考创建实例购买实例,并在“2.设置主机”步骤中单击高级设置。如下图所示:

腾讯云服务器设置自定义数据(Linux )

2、在“高级设置”的“自定义数据”文本框中,输入使用Base64编码脚本文件返回的编码结果。如下图所示:

例如,使用Base64编码script_text脚本文件返回的结果为IyEvYmluL2Jhc2gKZWNobyAiSGVsbG8gVGVuY2VudCBDbG91ZC4iCg==。

腾讯云服务器设置自定义数据(Linux )

3、按照界面信息逐步操作,完成创建云服务器。

通过API传递

当您通过API创建云服务器时,可以将使用Base64编码脚本文件中返回的编码结果赋值给RunInstances接口的UserData参数,以此来传递文本。

例如,创建一个带UserData参数的云服务器的请求参数,其示例如下:

https://cvm.tencentcloudapi.com/?Action=RunInstances
  &Version=2017-03-12
  &Placement.Zone=ap-guangzhou-2
  &ImageId=img-pmqg1cw7
  &UserData=IyEvYmluL2Jhc2gKZWNobyAiSGVsbG8gVGVuY2VudCBDbG91ZC4iCg==
  &<公共请求参数>

四、查看执行日志

成功创建服务器后,您可执行以下命令,查看脚本执行日志:

cat /var/log/cloud-init-output.log
使用教程

轻量应用服务器怎么安装宝塔?轻量应用服务器怎么配置宝塔?

2022-8-18 15:00:31

使用教程

钉钉专业版自定义报表基本操作

2022-8-19 16:04:27

相关推荐