

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 第 10 步：更新说明书以运行脚本
<a name="gettingstarted-cookbooks-run-script"></a>

**重要**  
该 AWS OpsWorks Stacks 服务于 2024 年 5 月 26 日终止，新客户和现有客户均已禁用。我们强烈建议客户尽快将其工作负载迁移到其他解决方案。如果您对迁移有疑问，请通过 re [AWS : Post 或通过 Pre](https://repost.aws/) mium Su [AWS pp](https://aws.amazon.com/support) ort 与 AWS 支持 团队联系。

通过添加可在实例上运行脚本的配方来更新您的说明书。此配方会创建一个目录，然后在该目录中创建一个文件。编写一个配方以运行包含多个命令的脚本，比一次运行其中一个命令简单。

**更新实例上的说明书并运行新的配方**

1. 在您的本地工作站上的 `opsworks_cookbook_demo` 目录的 `recipes` 子目录中，创建名为 `run_script.rb` 的包含以下代码的文件。有关更多信息，请转到 [script](https://docs.chef.io/resource_script.html)。

   ```
   script "Run a script" do
     interpreter "bash"
     code <<-EOH
       mkdir -m 777 /tmp/run-script-demo
       touch /tmp/run-script-demo/helloworld.txt
       echo "Hello, World!" > /tmp/run-script-demo/helloworld.txt
     EOH
   end
   ```

1. 在终端处或在命令提示符下，使用 **tar** 命令创建 `opsworks_cookbook_demo.tar.gz` 文件的新版本，该文件包含 `opsworks_cookbook_demo` 目录及其更新的内容。

1. 将更新后的 `opsworks_cookbook_demo.tar.gz` 文件上传到 S3 存储桶。

1. 按照[第 5 步：更新实例上的说明书并运行配方](gettingstarted-cookbooks-copy-cookbook.md)中的步骤，更新实例上的说明书并运行配方。在“运行配方”步骤中，对于 **Recipes to execute (要执行的配方)**，键入 **opsworks\$1cookbook\$1demo::run\$1script**。

**测试配方**

1. 如果您尚未登录实例，请登录。

1. 在命令提示符下，运行以下命令以确认已添加新文件：

   ```
   sudo cat /tmp/run-script-demo/helloworld.txt
   ```

   随即将显示该文件的内容：

   ```
   Hello, World!
   ```

在[下一步](gettingstarted-cookbooks-manage-service.md)中，您将更新说明书以管理实例上的服务。