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. CF768

    Codeforces Round #406 (Div. 1) A.Berzerk 考虑先手必胜态,一定是先手移动到某一个位置以后,这个位置是后手的必败态 考虑先手必败态,一定是无论先手如何移动,先手所 ...

  2. Spring MVC中@RequestParam/@RequestBody/@RequestHeader的用法收集(转)

    简介: handler method参数绑定常用的注解,我们根据他们处理的Request的不同内容部分分为四类:(主要讲解常用类型) A.处理requet uri部分(这里指uri template中 ...

  3. Xcode: This device is no longer connected error

    Quit the xcode and connect again will all right.

  4. 移动端底部input被弹出的键盘遮挡

    https://developer.mozilla.org/zh-CN/docs/Web/API/Element/scrollIntoView 移动端input被键盘遮挡,事件是跳到可视区域! doc ...

  5. java中自带时间类使用方法实例 Date,Timestamp,DateFormat

    我们将以Java自带的时间日期类和当中的处理函数进行分析. 一.与时间日期有关的类. java.util.Date. 实现类,其对象具有时间.日期组件. java.util.Calendar. 抽象类 ...

  6. HRBUST2030(dfs)

    成语接龙 Time Limit: 1000 MS Memory Limit: 32768 KB 64-bit integer IO format: %lld , %llu Java class nam ...

  7. javaweb dev 入

    ::::关于jsp页面和servlet之间传递参数 JSP与 servlet之间的传值有两种情况:JSP -> servlet, servlet -> JSP. 通过对象 request和 ...

  8. VS中 build,rebuild,clean

    一般来说Rebuild=99%*(Clean+Build),效果在非常小的可能性下会不同,一般可以忽略. Rebuild是对Solution下的所有项目,逐个进行 Clean+Build.不论文件更改 ...

  9. Django-content—type

    Django包含一个contenttype应用,它可以追踪安装在你的Django项目里的所有的应用,并提供一个高层次的,通用的接口用于与你的模型进行交互 Contenttypes 的核心应用是Cont ...

  10. 通过路由管理视图间切换 - AngularJS路由解析

    模板的视图刷新 ng-view这个指令和路由组合之后就可以将$route对应的视图放入指定的HTML中,这一过程中它会创建自己的作用域并将模板嵌套在内部. ng-view指令的优先级是1000(终极) ...