[root@node7 123]# tree
.
├── 1.sh
├── hosts
└── redisinstalla.yml
0 directories, 3 files
]# vim 1.sh
#!/bin/bash
echo ’
’ | /home/work/redis-4.0.8/utils/install_server.sh
]# vim hosts
[node]
node1 ansible_ssh_user=root ansible_ssh_pass=xxxx
node2 ansible_ssh_user=root ansible_ssh_pass=xxxx
node3 ansible_ssh_user=root ansible_ssh_pass=xxxx
node4 ansible_ssh_user=root ansible_ssh_pass=xxxx
node5 ansible_ssh_user=root ansible_ssh_pass=xxxx
node6 ansible_ssh_user=root ansible_ssh_pass=xxxx
]# vim redisinstalla.yml
- hosts: node
remote_user: work
vars:
redis_data_dir: /home/work/redis/data
var_dir: /home/work/redis
unarch: /home/work
redis_dir: /home/work/redis-4.0.8
tasks:-
name: 创建redis数据目录
file: path={{ redis_data_dir }} state=directory -
name: 复制redis包到远程主机
copy: src=/root/redis/redis-4.0.8.tar.gz dest=/tmp -
name: 安装gcc
yum:
name: gcc
state: installed -
name: 解压包
unarchive:
src: /tmp/redis-4.0.8.tar.gz
dest: “{{ unarch }}”
copy: no -
name: 安装
shell: cd {{ unarch }}/redis-4.0.8 && make && make install -
name: 初始化
script: ./1.sh -
name: 启动redis
shell: “/etc/init.d/redis_6379 start” -
name: 删除redis解压包
file: path={{ redis_dir }} state=absent
-
[root@node7 123]# ansible-playbook -i hosts redisinstalla.yml