|
74 | 74 | state: directory
|
75 | 75 | path: '{{ __rsyslog_backup_dir }}'
|
76 | 76 | mode: '0700'
|
77 |
| - changed_when: false |
78 | 77 |
|
79 |
| - - name: Archive the contents of {{ __rsyslog_config_dir }} to |
80 |
| - the backup dir |
| 78 | + - name: Get backup file stat |
| 79 | + stat: |
| 80 | + path: "{{ __rsyslog_backup_dir }}/backup.tgz" |
| 81 | + register: __backup_stat |
| 82 | + |
| 83 | + - name: Archive the original contents of {{ __rsyslog_config_dir }} |
| 84 | + to the backup dir |
81 | 85 | command: >
|
82 | 86 | tar -cvzPf "{{ __rsyslog_backup_dir }}/backup.tgz"
|
83 |
| - /etc/rsyslog.conf "{{ __rsyslog_config_dir }}" |
84 |
| - args: |
85 |
| - warn: false # suppress 'unarchive' warning |
86 |
| - changed_when: false |
| 87 | + /etc/rsyslog.conf "{{ __rsyslog_config_dir }}" |
| 88 | + when: not __backup_stat.stat.exists |
87 | 89 |
|
88 | 90 | - name: Purge original conf
|
89 | 91 | file:
|
90 | 92 | state: absent
|
91 | 93 | path: "{{ __rsyslog_config_dir }}/*"
|
92 | 94 | when: __rsyslog_purge_original_conf | bool | d(false)
|
| 95 | + |
| 96 | + - block: |
| 97 | + - name: Get backup file stat |
| 98 | + stat: |
| 99 | + path: "{{ __rsyslog_backup_dir }}/backup.tgz" |
| 100 | + register: __backup_stat |
| 101 | + |
| 102 | + - name: Restore original conf |
| 103 | + command: > |
| 104 | + tar -xvzPf "{{ __rsyslog_backup_dir }}/backup.tgz" |
| 105 | + when: __backup_stat.stat.exists |
| 106 | + when: |
| 107 | + - __rsyslog_restore_original_conf | bool | d(false) |
| 108 | + |
93 | 109 | vars:
|
94 |
| - __rsyslog_backup_dir: '{{ rsyslog_backup_dir | |
95 |
| - d("/tmp") }}/rsyslog.d-{{ ansible_date_time.iso8601_basic_short }}' |
| 110 | + __rsyslog_backup_dir: '{{ logging_backup_dir |
| 111 | + if logging_backup_dir|length > 0 |
| 112 | + else "/var/lib/rsyslog" }}' |
96 | 113 |
|
97 | 114 | - name: "Create logging directory if it does not exist or
|
98 | 115 | the ownership and/or modes are different."
|
|
0 commit comments