如何使用Puppet按扩展名移动文件

时间:2019-01-08 22:51:17

标签: puppet

我想按扩展名移动文件。

1)我真的必须创建文件并在复制后将其删除吗?还是可以在单个任务中完成?

2)如果我想将* .jpg文件复制到文件夹files / jpg /并将* .htm文件复制到files / htm,该怎么办?我该怎么办?

谢谢!

1 个答案:

答案 0 :(得分:2)

  

我想按扩展名移动文件。

尽管Puppet可以帮助您做到这一点,但这并不是Puppet的目的。 Puppet提供机器状态管理服务。它所做的一切都应在此决策树的上下文中解释:

  • 所需的目标状态是什么?
  • 机器是否已经处于目标状态?
    • 是:什么都不做。
    • 否:将计算机更新为目标状态

Puppet不是脚本引擎,不应将Puppet清单视为脚本。

  

1)我真的必须创建文件并在复制后将其删除吗?还是可以在单个任务中完成?

否和是。尽管Puppet不是脚本引擎,但它可以为您 执行任意程序(包括脚本)和shell命令。这是通过核心Exec resource type提供的。如果您根据目标状态(而不是所需的操作)来概念化任务,并从该角度编写代码,这将对您最有效,但是即使看起来很晦涩,您也应该能够继续进行。

  

2)如果我要将* .jpg文件复制到文件夹files / jpg /和* .htm,该怎么办   文件到文件/ htm?我该怎么办?

您将如何从命令行执行此操作?尽管存在概念上的问题,但总的来说还是要应用Exec资源,该资源的command参数是直接或通过脚本执行此工作的Shell命令。

或者,如果您成功地将目标管理成一种特定状态,那么 就会使您无所适从,那么您可以考虑将其封装在{ {3}},您可以使用其实例代替通用Exec