Назад | Перейти на главную страницу

получить контрольную сумму файла и обновить другой файл с этой контрольной суммой в недоступном?

У меня есть файл test_proc.init в конкретном каталоге. И у меня есть еще один файл desc.cmd в том же каталоге, который имеет содержимое ниже:

set_poc 204 6
send_data_file goldy_proc.init 4e8ee8946f7a89d2eb501a752c5e3ee6ea266e5b
set_poc 204 7
send_data_file goldy_proc.init 4e8ee8946f7a89d2eb501a752c5e3ee6ea266e5b
set_poc 204 8
send_data_file goldy_proc.init 4e8ee8946f7a89d2eb501a752c5e3ee6ea266e5b
set_poc 204 9
send_data_file goldy_proc.init 4e8ee8946f7a89d2eb501a752c5e3ee6ea266e5b

Вот что я хочу сделать:

Итак, если новая контрольная сумма e32313118e53b60140d2024dfa7578c3fd89b346 мой desc.cmd файл будет таким:

set_poc 204 6
send_data_file goldy_proc.init e32313118e53b60140d2024dfa7578c3fd89b346
set_poc 204 7
send_data_file goldy_proc.init e32313118e53b60140d2024dfa7578c3fd89b346
set_poc 204 8
send_data_file goldy_proc.init e32313118e53b60140d2024dfa7578c3fd89b346
set_poc 204 9
send_data_file goldy_proc.init e32313118e53b60140d2024dfa7578c3fd89b346

Возможно ли это сделать в ансибле? Я не знаю, как вставить контрольную сумму и обновить файл.

- name: Get sha1sum of file
  stat:
    path: /data/test_proc.init
    checksum_algorithm: sha1sum
    get_checksum: yes
  register: shell_stat

Выход stat команда уже должна содержать sha файла:

- name: Get sha1sum of file
  stat:
    path: /data/test_proc.init
    checksum_algorithm: sha1sum
    get_checksum: yes
  register: sha

Его можно использовать с таким модулем, как lineinfile или blockinfile обновить desc.cmd файл вроде этого:

- name: insert sha
  lineinfile:
    path: /data/desc.cmd
    line: "{{ sha.stat.checksum }}"