sobreescribir otro directorio crear copiar contenido cambiar archivos archivo chef

chef - otro - copiar y sobreescribir archivos en linux



Borrar todos los archivos en un directorio usando Chef (2)

Si recuerdo correctamente, establecer el atributo recursive true obligará a eliminar directorios no vacíos.

Los documentos para el directory LWRP no describen este comportamiento, pero sí proporcionan este ejemplo de uso:

directory "/tmp/something" do recursive true action :delete end

Los documentos se han modificado desde entonces para decir crípticamente:

recursive
Tipos de Ruby: TrueClass, FalseClass

Crear o eliminar directorios padre de forma recursiva. Para las propiedades de propietario, grupo y modo, el valor de este atributo se aplica solo al directorio hoja.
Valor por defecto: false .

Todavía no llegan a decir "se requiere recursive true para eliminar directorios no vacíos. Sin esta configuración, intentar eliminar un directorio no vacío fallará con el mensaje: Errno::ENOTEMPTY Directory not empty ".

Intentando eliminar una carpeta no vacía:

directory "C:/tempdirectory" do action :delete end

... en Chef recibo:

Errno::ENOTEMPTY Directory not empty

¿Hay una manera rápida de eliminar todos los archivos en el directorio?

¿O un argumento o una bandera que me permita eliminar directorios que no estén vacíos?


Tienes que añadir la opción recursive true . Esta opción eliminará todos los directorios.