У меня есть файл 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
Вот что я хочу сделать:
sha1sum
из test_proc.init
файл: sha1sum test_proc.init
.sha1sum
команду, я хочу скопировать эту контрольную сумму и обновить desc.cmd
файл.Итак, если новая контрольная сумма 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 }}"