В качестве специальной команды -Специальная команда:
ansible '<hosts>' -m lineinfile -a "dest=/etc/lvm/lvm.conf backrefs=yes regexp='^(locking_dir)' line='\1 = \"/run/lock\"' state=present"
Как часть пьесы:
- lineinfile:
dest: /etc/lvm/lvm.conf
backrefs: yes
regexp: '^(locking_dir)'
line: '\1 = \"/run/lock\"'
state: present
Я полагаю, что lvm.conf
будет иметь только одну строку, начинающуюся с locking_dir
, поэтому я не удосужился использовать регулярное выражение для сопоставления всей строки. В противном случае регулярное выражение было бы чем-то вроде'^locking_dir = \"/var/lock/lvm\"'
Ваша непосредственная проблема может заключаться в этой строке:
last_modified='stat -c "Y" $/home/userr/textfile'
Здесь вы присваиваете переменной строку stat -C "Y"...
. Вместо этого вы можете назначить вывод команды, например stat -c %Y /home/userr/textfile
, которую вы можете написать следующим образом:
last_modified="$(stat -c %Y /home/userr/textfile)"
Я рекомендую использовать #!/bin/sh -e
для всех сценариев оболочки (вам здесь не нужен bash:))где -e
включает отказоустойчивое -быстрое поведение, чтобы ошибки не оставались незамеченными.