Ansible : Playbook を利用する (notify)2025/12/26 |
|
[notify] と [handlers] を利用することで、[notify] を指定したタスク実行後に [handlers] で定義したタスクを実行することができます。 |
|
| [1] | 以下の例は、管理対象ホストの [/etc/sysconfig/apache2] を編集した後、[apache2] を再起動する Playbook です。 |
|
suse@dlp:~>
vi playbook_sample.yml
- hosts: target_servers
become: yes
become_method: sudo
handlers:
- name: restart apache2
service: name=apache2 state=restarted
tasks:
- lineinfile:
path: /etc/sysconfig/apache2
regexp: '^APACHE_SERVERNAME'
line: "APACHE_SERVERNAME=\"{{ ansible_fqdn }}\""
notify: restart apache2
tags: Edit_sshd_config
ansible-playbook playbook_sample.yml --ask-become-pass BECOME password: PLAY [target_servers] ********************************************************** TASK [Gathering Facts] ********************************************************* ok: [10.0.0.51] ok: [10.0.0.52] TASK [lineinfile] ************************************************************** changed: [10.0.0.51] changed: [10.0.0.52] RUNNING HANDLER [restart apache2] ********************************************** changed: [10.0.0.51] changed: [10.0.0.52] PLAY RECAP ********************************************************************* 10.0.0.51 : ok=3 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 10.0.0.52 : ok=3 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 # 確認 suse@dlp:~> ansible target_servers -m command -a "grep '^APACHE_SERVERNAME' /etc/sysconfig/apache2" 10.0.0.52 | CHANGED | rc=0 >> APACHE_SERVERNAME="node02.srv.world" 10.0.0.51 | CHANGED | rc=0 >> APACHE_SERVERNAME="node01.srv.world" |
| Sponsored Link |
|
|