Ansible-为集群添加时间同步计划任务
说明
为集群各节点批量添加时间同步计划任务主要用到ansible的两个模块,分别是service和cron模块。使用service模块是为了确保节点没有启动ntpd服务,因为当启动ntpd服务的时候,将无法使用ntpdata命令去同步时间。使用cron模块主要是为了添加计划任务。
定义inventory
[root@localhost sync_ntp]# pwd
/root/ansible/sync_ntp
[root@localhost sync_ntp]# cat es_hosts
[es_hosts]
192.168.10.1[0:9] #范围是10-19,共10各节点
编写playbook
[root@localhost sync_ntp]# cat sync_ntp.yml
---
- hosts: all
remote_user: root
gather_facts: false
tasks:
- name: stop ntpd
service: name=ntpd state=stopped enabled=no
ignore_errors: true #忽略错误,因为有些节点可能没有安装ntpd服务
- name: add ntpdate to crontab
cron: name='sync ntp' minute=*/10 job='/usr/sbin/ntpdate 192.168.10.20 > /dev/null 2&>1;hwclock -w'
state=present
...
执行
[root@localhost sync_ntp]# ansible-playbook -i es_hosts sync_ntp.yml