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. FileChannel指南

    推荐关注公众号:锅外的大佬 每日推送国外技术好文,帮助每位开发者更优秀地成长 原文链接:https://www.baeldung.com/java-filechannel 作者:baeldung 译者 ...

  2. BZOJ1010玩具裝箱Toy

    @[斜率優化] Description P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压 缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中. P ...

  3. Java方法中传值和引用传递的问题(转)

    说明:标题其实说法是错误的.Java中只有值传递,没有引用传递. ... ... //定义了一个改变参数值的函数 public static void changeValue(int x) { x = ...

  4. 随笔:Golang 时间Time

    先了解下time类型: type Time struct { // sec gives the number of seconds elapsed since // January 1, year 1 ...

  5. vuejs npm chromedriver 报错

    vuejs npm chromedriver 报错   # 全局安装 vue-cli$ npm install -g vue-cli# 创建一个基于 "webpack" 模板的新项 ...

  6. DICOM:DICOM万能编辑工具之Sante DICOM Editor

    版权声明:本文为zssure原创文章,转载请注明出处,未经允许不得转载.   目录(?)[-] 背景 DICOM Service的配置 Sante DICOM Editor自启动的服务 PACS查询下 ...

  7. Linq查询满足条件记录集

    通过linq查询datatable数据集合满足条件的数据集 1.首先定义查询字段的变量,比方深度 string strDepth=查询深度的值: var dataRows = from datarow ...

  8. LVDS、MIPI、EDP、VGA、DVI、HDMI、DP3.0(雷电接口)

    1.LVDS 2.mipi 3.EDP:Embedded DisplayPort 4.VGA VGA接口的特性: 1)理论上能够支持2048x1536分辨率画面传输. 2)VGA由于是模拟信号传输,所 ...

  9. 生产追溯系统-Wifi+传感器,实现计数器以及监控机器是否停止

    物联网听上去是一个高大上的词儿,还有什么大数据.云.智能制造等等,今天我也往这方面稍微靠一靠,这篇文章主要介绍的是通过 wifi 模块与传感器组合,实现感应计数器,应用场景主要如下: 1.统计 SMT ...

  10. Selenium学习(一)环境搭建

    一.安装selenium有两种方式: 1.pip install -U selenium(网络条件好) 2.下载selenium安装包,通过python setup.py install(压缩包)或p ...