配置服务器免密码登录
// 生成秘钥
ssh-keygen -t rsa
// 将秘钥拷贝到预管理的节点上
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.1.x
// 登录远程机器
ssh root@192.168.1.x
// 退出远程登录
exit
编写installJDK.yml文件
---
- hosts: webserver #指定主机
remote_user: root #指定在被管理的主机上执行任务的用户
vars:
jdk_name: jdk-8u201-linux-x64.tar.gz # jdk压缩包名
jdk_folder: jdk1.8.0_201 # jdk解压之后文件夹名
jdk_dest_path: /usr/local/software/ # 目标服务器地址
jdk_src_path: /etc/ansible/software/ # 源服务器地址
tasks: #任务列表
- name: 复制安装包到目标服务器 #发送jdk文件夹到目标服务器中
copy: src={{jdk_src_path}}{{jdk_name}} dest={{jdk_dest_path}}{{jdk_name}}
- name: 解压压缩文件
shell: 'tar -xvf {{jdk_dest_path}}{{jdk_name}} -C {{jdk_dest_path}}'
- name: 设置环境变量
shell: /bin/echo {{ item }} >> /etc/profile
with_items:
- export JAVA_HOME={{jdk_dest_path}}{{jdk_folder}}
- export JRE_HOME=\$JAVA_HOME/jre
- export CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar:\$JRE_HOME/lib:\$CLASSPATH
- export PATH=\$JAVA_HOME/bin:\$PATH
- name: 刷新环境变量
shell: 'source /etc/profile'
执行命令
ansible-playbook installJDK.yml