tencent cloud

文档反馈

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

最后更新时间:2022-09-01 17:36:39

    操作场景

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

    本文以 Linux 云服务器首次启动时,通过传递 Shell 格式的脚本为例。

    注意事项

    • 支持自定义数据的 Linux 操作系统包括:
      • 64位操作系统:CentOS 6.8 64位及以上、Ubuntu Server 14.04.1 LTS 64位及以上、suse42.3x86_64
      • 32位操作系统:CentOS 6.8 32位及以上
    • 仅限首次启动云服务器时,通过传递文本执行命令。
    • 传递的文本必须经过 Base64 编码。请在 Linux 环境下进行编码,避免格式不兼容
    • 使用 root 帐号执行用户数据输入的文本,在脚本中不使用 sudo 命令。您创建的任何文件都将归 root 所有,如果您需要非根用户具有文件访问权,请在脚本中修改权限。
    • 在启动时,执行自定义数据中指定的任务会增加启动服务器所需的时间。建议您等待几分钟,并在任务完成后,测试任务是否已成功执行。
    • 本示例中,Shell 脚本必须以#!字符以及指向要读取脚本的解释器的路径(通常为 /bin/bash)开头。

    操作步骤

    编写 Shell 脚本

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

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

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

    Shell 脚本必须以#!字符以及指向要读取脚本的解释器的路径(通常为 /bin/bash)开头。有关 Shell 脚本的更多介绍,请参阅 Linux 文档项目 (tldp.org) 的 BASH 编程方法

    使用 Base64 编码脚本文件

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

    返回以下信息:

    # 编码之后的结果
    IyEvYmluL2Jhc2gKZWNobyAiSGVsbG8gVGVuY2VudCBDbG91ZC4iCg==
    
    1. 执行以下命令,验证对脚本进行 Base64 编码的返回结果。
      # 对返回的结果进行Base64解码,以验证是否为需要执行的命令
      echo "IyEvYmluL2Jhc2gKZWNobyAiSGVsbG8gVGVuY2VudCBDbG91ZC4iCg==" | base64 -d
      

    传递文本

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

    1. 参考 创建实例 购买实例,并在 “2.设置主机” 步骤中单击高级设置。如下图所示:
    2. 在 “高级设置” 的 “自定义数据” 文本框中,输入 使用 Base64 编码脚本文件 返回的编码结果。如下图所示:
      例如,使用 Base64 编码 script_text 脚本文件返回的结果为 IyEvYmluL2Jhc2gKZWNobyAiSGVsbG8gVGVuY2VudCBDbG91ZC4iCg==
    3. 按照界面信息逐步操作,完成创建云服务器。
      说明

      腾讯云服务器将通过开源软件 cloud-init 执行脚本。有关 cloud-init 的更多内容,请参阅 cloud-init 官方网站

    查看执行日志

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

    cat /var/log/cloud-init-output.log
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持