Ansible snippets: Difference between revisions
From DWIKI
m (→Lineinfile) |
mNo edit summary |
||
Line 83: | Line 83: | ||
register: mysqld | register: mysqld | ||
failed_when: mysqld.rc == 2 | failed_when: mysqld.rc == 2 | ||
[[Category:Ansible]] |
Revision as of 09:37, 15 August 2024
Systemd
Randomize timer
Create /var/ansible/files/systemd/fstrim.conf
[Timer] RandomizedDelaySec=3h
Playbook:
tasks:
- name: check if /etc/systemd/system/fstrim.timer.d/ exists stat: path: /etc/systemd/system/fstrim.timer.d/ register: override_dir
- name: create /etc/systemd/system/fstrim.timer.d/ file: path: /etc/systemd/system/fstrim.timer.d/ state: directory when: override_dir.stat.exists == False
- name: add fstrim.timer override copy: src: /var/ansible/files/systemd/fstrim.conf dest: /etc/systemd/system/fstrim.timer.d/override.conf notify: daemon-reload
handlers:
- name: daemon-reload systemd: daemon_reload: yes
Lineinfile
Quoting fun with lineinfile regex
- name: fix the needrestart config lineinfile: dest: /etc/needrestart/needrestart.conf state: present regexp: '^#\$nrconf{restart}' line: '$nrconf{restart} = ''a''' when: ansible_distribution == 'Ubuntu' and ansible_distribution_major_version == '22'
Comment out a line
- name: comment out a line lineinfile: dest: /etc/needrestart/needrestart.conf state: present backrefs: true regexp: '^(foo.*)' line: '# \1'
Check for string in file
- name: Check for rotate setting lineinfile: path: "Template:Rotatepath" regex: '^ *rotate 180$' state: absent register: result
- debug: msg="Template:Inventory hostname Template:Result.found"
Files
Check if a file exists
- name: check for a file stat: path: /etc/fstab register: fstab
- name: print message if exists ansible.builtin.debug: msg: "File /etc/fstab exists" when: fstab.stat.exists
Check if a command exists
- name: check if mysqld is installed shell: which mysqld > /dev/null 2>&1 ignore_errors: true changed_when: false register: mysqld failed_when: mysqld.rc == 2