1 # ansible 初始化服务机 2 - hosts: newserver 3 vars: 4 - basedir: opt 5 tasks: 6 - name: 安装常用依赖环境 7 yum: name={ { item }} state=present 8 with_items: 9 - lrzsz10 - telnet11 - wget12 - epel-release13 14 - name: 为所有创建的新用户添加属组15 group:16 name: develop17 state: present18 - name: 将yutang用户加入develop组19 shell: usermod -G develop yutang20 21 - name: 创建微服务基本运行父级目录环境22 file: path=/{ { basedir }}/{ { item }}/ state=directory owner=test group=develop mode=075523 with_items:24 - service25 - server26 - src27 28 - name: 创建微服务基本运行子级server目录环境29 file: path=/{ { basedir }}/server/{ { item }}/ state=directory owner=test group=develop mode=075530 with_items:31 - backup32 - config33 34 - name: 创建微服务基本运行子级service目录环境35 file: path=/{ { basedir }}/service/{ { item }}/ state=directory owner=yutang group=develop mode=075536 with_items:37 - tmp38 - logs39 40 - name: 下载jdk环境41 get_url: url=http://mirror.cnop.net/jdk/linux/jdk-8u112-linux-x64.tar.gz dest=/{ { basedir }}/server/src mode=0655 force=yes owner=test42 - name: 解压jdk压缩包43 unarchive: src=/{ { basedir }}/server/src/jdk-8u112-linux-x64.tar.gz dest=/{ { basedir }}/server/ mode=0755 copy=no44 45 - name: 添加jdk环境变量46 lineinfile: dest=/etc/profile line="export JAVA_HOME=/opt/server/jdk1.8.0_112"47 48 - name: 添加jdk环境变量49 lineinfile: dest=/etc/profile line="export PATH=$JAVA_HOME/bin:$PATH"50 51 52 - name: 将本地logstash文件传输到远程服务器53 copy: src=/{ { basedir }}/server/logstash.tar.gz dest=/{ { basedir }}/server/ owner=test group=develop mode=075554 55 - name: 解压logstash压缩包56 unarchive: src=/{ { basedir }}/server/logstash.tar.gz dest=/{ { basedir }}/server/ mode=0755 owner=test group=develop copy=no57 58 - name: 将本地pinpoint文件传输到远程服务器59 copy: src=/{ { basedir }}/server/pinpoint-agent.tar.gz dest=/{ { basedir }}/server/ owner=test group=develop mode=075560 61 - name: 解压pinpoint压缩包62 unarchive: src=/{ { basedir }}/server/pinpoint-agent.tar.gz dest=/{ { basedir }}/service/ mode=0755 owner=test group=develop copy=no63 64 - name: 将本地consul文件传输到远程服务器65 copy: src=/{ { basedir }}/server/consul.tar.gz dest=/{ { basedir }}/server/ owner=test group=develop mode=075566 67 - name: 解压consul压缩包68 unarchive: src=/{ { basedir }}/server/consul.tar.gz dest=/{ { basedir }}/server/ mode=0755 owner=test group=develop copy=no69 70 71 - name: 移动config.tar.gz和ogstash.tar.gz到/alidata/server/download备份目录下72 shell: /usr/bin/mv /{ { basedir }}/server/*.gz /{ { basedir }}/server/download/73 74 - name: 授权所有目录权限为yutang75 shell: chown -R test.develop /{ { basedir }}76 77 78 - name: 修改主机名79 raw: "echo { {hostname|quote}} > /etc/hostname"80 81 - name: 设置主机名82 shell: hostname { {hostname|quote}}83 84 - name: 刷新java环境变量85 shell: source /etc/profile86 87 - name: 定时清理系统缓存88 cron: name="每隔1小时清理一次系统缓存" job="/usr/bin/sync; /usr/bin/echo 3 > /proc/sys/vm/drop_caches" minute=*/60 state=present