

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Paso 8: Actualizar el libro de recetas para crear y copiar archivos
<a name="gettingstarted-cookbooks-create-file"></a>

**importante**  
El AWS OpsWorks Stacks servicio llegó al final de su vida útil el 26 de mayo de 2024 y se ha desactivado tanto para los clientes nuevos como para los actuales. Recomendamos encarecidamente a los clientes que migren sus cargas de trabajo a otras soluciones lo antes posible. Si tienes preguntas sobre la migración, ponte en contacto con el AWS Support equipo en [AWS Re:post](https://repost.aws/) o a través de Premium [AWS Support](https://aws.amazon.com/support).

Actualice el libro de recetas añadiendo una receta que agrega dos archivos a la instancia. El primer recurso de la receta crea un archivo completamente con el código de la receta. Esto es parecido a ejecutar los comandos **cat**, **echo** o **touch** de Linux o los comandos **echo** o **fsutil** de Windows. Esta técnica es útil con pocos archivos, o con archivos pequeños o sencillos. El segundo recurso de la receta copia un archivo del libro de recetas en otro directorio de la instancia. El procedimiento es similar a ejecutar el comando **cp** en Linux o el comando **copy** en Windows. Esta técnica es útil cuando hay muchos archivos, o archivos grandes o complejos.

Antes de este paso, complete [Paso 7: Actualizar el libro de recetas para crear un directorio](gettingstarted-cookbooks-create-directory.md) para asegurarse de que exista el directorio principal.

**Para actualizar el libro de recetas en la instancia y ejecutar la nueva receta**

1. En la estación de trabajo local, en el directorio `opsworks_cookbook_demo`, cree un subdirectorio llamado `files`. 

1. En el subdirectorio `files`, cree un archivo denominado `hello.txt` con el texto siguiente: **Hello, World\$1** 

1. En el subdirectorio `recipes` del directorio `opsworks_cookbook_demo`, cree un archivo llamado `create_files.rb` con el código siguiente. Para obtener más información, consulte [file](https://docs.chef.io/resource_file.html) y [cookbook\$1file](https://docs.chef.io/resource_cookbook_file.html).

   ```
   file "Create a file" do
     content "<html>This is a placeholder for the home page.</html>"
     group "root"
     mode "0755"
     owner "ec2-user"
     path "/tmp/create-directory-demo/index.html"
   end
   
   cookbook_file "Copy a file" do  
     group "root"
     mode "0755"
     owner "ec2-user"
     path "/tmp/create-directory-demo/hello.txt"
     source "hello.txt"  
   end
   ```

   El recurso `file` crea un archivo en la ruta especificada. El recurso `cookbook_file` copia el archivo del directorio `files` que acaba de crear en el libro de recetas (Chef espera encontrar un subdirectorio con un nombre estándar `files` del que pueda copiar archivos) en otro directorio de la instancia.

1. En la línea de comandos o terminal, utilice el comando **tar** para crear una nueva versión del archivo `opsworks_cookbook_demo.tar.gz` que contenga el directorio `opsworks_cookbook_demo` y su contenido actualizado.

1. Cargue el archivo `opsworks_cookbook_demo.tar.gz` actualizado en el bucket de S3.

1. Siga el procedimiento descrito en [Paso 5: Actualizar el libro de recetas en la instancia y ejecutar la receta](gettingstarted-cookbooks-copy-cookbook.md) para actualizar el libro de recetas en la instancia y ejecutar la receta. En el procedimiento "To run the recipe" para **Recipes to execute (Recetas para ejecutar)**, escriba **opsworks\$1cookbook\$1demo::create\$1files**.

**Para probar la receta**

1. Inicie sesión en la instancia si aún no lo ha hecho.

1. En el símbolo del sistema, ejecute los siguientes comandos, uno por uno, para confirmar que se han añadido los nuevos archivos:

   ```
   sudo cat /tmp/create-directory-demo/index.html
   
   sudo cat /tmp/create-directory-demo/hello.txt
   ```

   Se muestra el contenido del archivo:

   ```
   <html>This is a placeholder for the home page.</html>
   
   Hello, World!
   ```

En el [paso siguiente](gettingstarted-cookbooks-run-command.md), actualizará el libro de recetas para ejecutar un comando en la instancia.