hosts
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[test]
0.0.0.0 ansible_ssh_user=test ansible_ssh_pass=123445 ansible_sudo_pass=123445
0.0.0.0 ansible_ssh_user=test ansible_ssh_pass=123445 ansible_sudo_pass=123445
rsync_test.yml
- hosts: '{{ do_hosts }}'
remote_user: test
tasks:
- name: copy ssh key
authorized_key:
user: test
key: "{{ lookup('file', '/home/test/.ssh/id_rsa.pub') }}"
- name: nopassword for test on the remote hosts
action: shell sed "s/^#\ %wheel.*NOPASSWD:\ ALL/%wheel\ ALL=(ALL)\ NOPASSWD:\ ALL/" -i /etc/sudoers
sudo: yes
- name: sudo no tty for test on the remote hosts
shell: sed -i '/Defaults.*requiretty/a\ Defaults:\ test\ !requiretty' /etc/sudoers
shell: sed -i "$ a Defaults\:\ test\ !requiretty" /etc/sudoers
sudo: yes
- name: configuration ulimit params on the remote hosts
action: shell sed -i '$ a fs.file-max = 65535' /etc/sysctl.conf && sed -i 's/1024/65535/' /etc/security/limits.d/90-nproc.conf && sed -i '$ a* soft nofile 65535\n* hard nofile 65535' /etc/security/limits.conf
sudo: yes
- name: update hostname
action: shell sed -i 's/.localdomain//g' /etc/sysconfig/network && service network restart
sudo: yes
- name: copy localrepo
action: copy src=/etc/yum.repos.d/localrepo.repo dest=/etc/yum.repos.d/ mode=0755
sudo: yes
- name: install jdk
action: yum name=jdk state=present
sudo: yes
  - name: install lrzsz
    action: yum name=lrzsz state=present
    sudo: yes
  - name: install lsof
    action: yum name=lsof state=present
    sudo: yes
- name: config java_home
action: shell echo 'export JAVA_HOME=/usr/java/latest' >> /etc/profile
sudo: yes
- name: config hostname for hosts
action: shell echo "{{ ansible_default_ipv4.address }} {{ ansible_hostname }}" >> /etc/hosts
sudo: yes
   - name: add kydev user
     action: user name={{ item.name  }} state=present password={{ item.new_pass | password_hash('sha512') }} update_password=always
     with_items:
       - { name: 'test',new_pass: '123456' }
     sudo: yes                                                                                                                    

执行命令:

ansible-playbook -i ./hosts rsync_test.yml --extra-vars "do_hosts=test"

ansible-playbook初始化服务器的更多相关文章

  1. Ansible playbook 批量修改服务器密码 先普通后root用户

    fsckzy   Ansible playbook 批量修改服务器密码 客户的需求:修改所有服务器密码,密码规则为Rfv5%+主机名后3位 背景:服务器有CentOS6.7,SuSE9.10.11,r ...

  2. ansible playbook批量改ssh配置文件,远程用户Permission denied

    最近手里的数百台服务器需要改/etc/ssh/sshd_config的参数,禁止root直接登陆,也就是说 [root@t0 ~]# cat /etc/ssh/sshd_config | grep R ...

  3. ansible笔记(10):初识ansible playbook

    ansible笔记():初识ansible playbook 假设,我们想要在test70主机上安装nginx并启动,我们可以在ansible主机中执行如下3条命令 ansible test70 -m ...

  4. 写Ansible playbook添加zabbix被监控的对象

    本主题达到的效果是能通过编写Ansible Playbook,创建zabbix主机组,把被监控的对象加入到zabbix监控系统中,同时链接到对象的模板. 1.准备工作 在zabbix服务器上面,我们需 ...

  5. ansible playbook模式及语法

    一.什么是playbook及其组成 什么是playbook playbook 翻译过来就是"剧本" playbook的组成 play:定义的是主机的角色 task:定义的是具体执行 ...

  6. ansible - playbook(剧组)

    目录 ansible - playbook(剧组) 常用命令 五种传参方式 常用元素详解 tags handlers template when 循环 嵌套循环 ansible - playbook( ...

  7. Ansible--02 ansible playbook的应用

    目录 Ansible playbook的应用 什么是playbook playbook的组成 playbook和Ad-Hoc对比 YAML语法 安装httpd练习 rsyncd实战 实战1: 实战2: ...

  8. (三)ansible playbook

    一,YAML语法 YAML的语法和其他高阶语言类似并且可以简单表达清单.散列表.标量等数据结构.(列表用横杆表示,键值对用冒号分割,键值对里又可以嵌套另外的键值对) YAML文件扩展名通常为.yaml ...

  9. Ansible playbook API 开发 调用测试

    Ansible是Agentless的轻量级批量配置管理工具,由于出现的比较晚(13年)基于Ansible进行开发的相关文档较少,因此,这里通过一些小的实验,结合现有资料以及源码,探索一下Ansible ...

  10. ansible playbook实践(四)-如何调试写好的playbook文件

    有时,我们写了一个长长,功能很强悍的yaml文件,但是,我们有可能会担心,写的yaml文件是否正确,是否有漏洞危机,毕竟是要修改线上的机器,那么,有可能我们可以从以下几个检查维度来进行,确保在大规模应 ...

随机推荐

  1. git grep 或者 ag 进行快速代码搜索

    1.git grep foo 会自动map所有包含foo的文件 2.git grep -n foo  显示行号 3.git grep --name-only foo 只显示文件名 4.git grep ...

  2. java poi excel 生成表格的工具封装

    效果如下: 代码如下: import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import ...

  3. JVM加载的初始化类

    首先Throws(抛出)几个自己学习过程中一直疑惑的问题: 1.什么是类加载?什么时候进行类加载? 2.什么是类初始化?什么时候进行类初始化? 3.什么时候会为变量分配内存? 4.什么时候会为变量赋默 ...

  4. iOS Mobile Development: Using Xcode Targets to Reuse the Code 使用xcode targets来实现代码复用

    In the context of iOS mobile app development, a clone is simply an app that is based off another mob ...

  5. WPA2密钥重装攻击原理分析

    这两天最火爆的莫过 “WPA2被破解” 这一条大新闻了.我对其原理非常感兴趣,苦于没有找到的文献,所以就整理这么一篇,方便自己和大家理解.主要是根据目前发布的文章以及一些相关资料. 壹.WPA2的机制 ...

  6. sql的一些知识_数据分组

    group by--------按**分组查询 SELECT rank, MIN(weight)as min_weight FROM userinfo GROUP BY rank 对分组的值进行过滤需 ...

  7. windows forget jenkins password.

    1. goto the directory of jenkins. for example my installation is in D:\Program Files (x86)\Jenkins. ...

  8. Android------Intent.createChooser

    Intent的匹配过程中有三个步骤,包含Action , category与data 的匹配. 假设匹配出了多个结果.系统会显示一个dialog让用户来选    择.例如以下图: 那么今天我们主要是解 ...

  9. Android 设计模式之单例模式

    设计模式是前人在开发过程中总结的一些经验,我们在开发过程中依据实际的情况,套用合适的设计模式,能够使程序结构更加简单.利于程序的扩展和维护.但也不是没有使用设计模式的程序就不好.如简单的程序就不用了, ...

  10. caffe搭建--vs2015+caffe+python3.5编译环境的搭建

    修改build_win.cmd如下: @echo off @setlocal EnableDelayedExpansion :: Default values if DEFINED APPVEYOR ...