Как переместить файлы по расширению с помощью Puppet - PullRequest
0 голосов
/ 09 января 2019

Я хочу переместить файлы по расширению.

1) Мне действительно нужно создавать файлы и удалять после копирования или я могу сделать это в одной задаче?

2) Что если я захочу скопировать файлы * .jpg в папку files / jpg / и * .htm в файлы / htm? Как я могу это сделать?

Спасибо!

1 Ответ

0 голосов
/ 09 января 2019

Я хочу переместить файлы по расширению.

Хотя Puppet может помочь вам в этом, это не то, для чего предназначен Puppet. Puppet предоставляет сервис управления состоянием машины. Все, что он должен делать, следует рассматривать в контексте этого дерева решений:

  • Какое целевое состояние требуется?
  • Машина уже находится в целевом состоянии?
    • Да: ничего не делать.
    • Нет: обновить компьютер до целевого состояния

Puppet не является механизмом сценариев, и манифесты Puppet не должны рассматриваться как сценарии.

1) Действительно ли мне нужно создавать файлы и удалять после копирования или я могу сделать это в одной задаче?

Нет и да соответственно. Хотя Puppet не является механизмом сценариев, он может выполнять произвольные программы (включая сценарии) и команды оболочки для вас. Это обеспечивается через основной Exec тип ресурса . Это будет работать лучше для вас, если вы концептуализируете свою задачу с точки зрения целевого состояния - в отличие от желаемого действия - и напишите свой код с этой точки зрения, но вы сможете продолжить, даже если это покажется неясным.

2) Что если я захочу скопировать * .jpg файлы в папку files / jpg / и * .htm файлы в файлы / htm? Как я могу это сделать?

Как бы вы сделали это из командной строки? Несмотря на проблему концептуализации, можно сказать, что вы примените ресурс Exec, чей параметр command является командой оболочки, выполняющей работу напрямую или с помощью сценария.

Или, если вам удалось сформулировать цель с точки зрения ресурса, который нужно управлять, в определенное состояние, и , вы были переучастником со временем, то вы могли бы рассмотреть инкапсуляцию этого в пользовательский тип ресурса , экземпляр которого можно использовать вместо универсального Exec.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...