如何使用 Puppet 按扩展名移动文件
How to move files by extension using Puppet
我想按扩展名移动文件。
1) 我真的必须创建文件并在复制后删除,还是可以在一个任务中完成?
2) 如果我想复制 *.jpg 文件到文件夹 files/jpg/ 和 *.htm 文件到 files/htm 怎么办?我该怎么做?
谢谢!
I want to move files by extension.
虽然 Puppet 可以帮助您做到这一点,但这并不是 Puppet 的设计目的。 Puppet 提供机器状态管理服务。它所做的一切都应该在这个决策树的上下文中解释:
- 期望的目标状态是什么?
- 机器是否已经处于目标状态?
- 是:什么都不做。
- 否:将机器更新为目标状态
Puppet 不是脚本引擎,不应将 Puppet 清单视为脚本。
1) Do I really have to create the files and delete after the copy or can I do that in a single task?
分别是否和是。尽管 Puppet 不是脚本引擎,但它 可以 为您执行任意程序(包括脚本)和 shell 命令。这是通过核心 Exec
resource type 提供的。如果您根据目标状态(而不是所需的操作)概念化您的任务并从该角度编写代码,这将最适合您,但即使这看起来晦涩难懂,您也应该能够继续。
2) What if I want to copy *.jpg files to folder files/jpg/ and *.htm
files to files/htm? How can I do that?
您将如何从命令行执行此操作?尽管存在概念化问题,但具体细节是您将应用一个 Exec
资源,其 command
参数是一个 shell 命令,可以直接或通过脚本执行该工作。
或者,如果您成功地将 objective 根据要管理的资源转化为特定状态, 和 时间充裕,您就是一个超常成功者,那么您可能会考虑将其封装在 a custom resource type 中,您可以使用它的一个实例来代替通用 Exec
.
我想按扩展名移动文件。
1) 我真的必须创建文件并在复制后删除,还是可以在一个任务中完成?
2) 如果我想复制 *.jpg 文件到文件夹 files/jpg/ 和 *.htm 文件到 files/htm 怎么办?我该怎么做?
谢谢!
I want to move files by extension.
虽然 Puppet 可以帮助您做到这一点,但这并不是 Puppet 的设计目的。 Puppet 提供机器状态管理服务。它所做的一切都应该在这个决策树的上下文中解释:
- 期望的目标状态是什么?
- 机器是否已经处于目标状态?
- 是:什么都不做。
- 否:将机器更新为目标状态
Puppet 不是脚本引擎,不应将 Puppet 清单视为脚本。
1) Do I really have to create the files and delete after the copy or can I do that in a single task?
分别是否和是。尽管 Puppet 不是脚本引擎,但它 可以 为您执行任意程序(包括脚本)和 shell 命令。这是通过核心 Exec
resource type 提供的。如果您根据目标状态(而不是所需的操作)概念化您的任务并从该角度编写代码,这将最适合您,但即使这看起来晦涩难懂,您也应该能够继续。
2) What if I want to copy *.jpg files to folder files/jpg/ and *.htm files to files/htm? How can I do that?
您将如何从命令行执行此操作?尽管存在概念化问题,但具体细节是您将应用一个 Exec
资源,其 command
参数是一个 shell 命令,可以直接或通过脚本执行该工作。
或者,如果您成功地将 objective 根据要管理的资源转化为特定状态, 和 时间充裕,您就是一个超常成功者,那么您可能会考虑将其封装在 a custom resource type 中,您可以使用它的一个实例来代替通用 Exec
.