4、初始化操作系统

### 说明:服务器默认最小化安装,使用root且密码登录下载脚本进行初始化操作。

4.1命令模式

# ansible all -m get_url -a"url=http://192.168.24.14/sa.tar.gz dest=/tmp/" -k   # 下载

# ansible all -m get_url -a"url=http://192.168.24.14/sa.tar.gz dest=/tmpsha256sum=a2b9b982b73f2bd142535053c02bb41f8bd2ce6e2d259df591a2be8f1aae71bd"-k

# 下载后进行 sha256sum工具校验

# ansible all -a 'md5sum /tmp/sa.tar.gz' -k   # md5校验

# ansible all -m raw -a 'ls -l /tmp |grepsa' -k     # 查看下载文件,注意 raw

# ansible all -a "tar zxvf /tmp/sa.tar.gz-C /tmp" -k  # 解压缩

# ansible all -m raw -a 'chmod +x/tmp/sa/*.sh' -k  # 赋予执行权限对*.sh文件或以下单文件:

# ansible all -m file -a"path=/tmp/sa/game_os.sh owner=root group=root mode=0755" -k

# ansible all -a '/tmp/sa/os.sh' -k       # 执行脚本,注意脚本中必须使用绝对路径

4.2 Playbooks模式

1hosts默认路径 /etc/ansible/hosts

# /etc/ansible/dydg

#vim /etc/ansible/dydg/sa.yml    # 1)无变量配置

---

- hosts: all

  user: root

 

  tasks:

    - name:Download tar package

      get_url:url=http://192.168.24.14/sa/sa.tar.gz dest=/tmpsha256sum=3c4585d5e5eaff1e94db11ce7190e24fc8a2754940cec3057effc61489c4a5cd

      tags:

        -downsa

 

    - name: tarzxvf *.tar.gz file

      shell:tar zxvf /tmp/sa.tar.gz -C /tmp

      tags:

        - tarxsa

    - name: Runthe script

      shell:chmod +x /tmp/sa/*.sh

      shell:/tmp/sa/os.sh

      tags:

        - runsa

#vim /etc/ansible/dydg/sa.yml    #2带变量配置

---

- hosts: all

  user: root

  vars:

    GETURL:"http://192.168.24.14/sa"

    TARFILE:"sa"

    TMPPATCH:"/tmp"

    SHFILE:"os.sh"

 

  tasks:

    - name:Download `TARFILE`.tar.gz package

      get_url:url="`GETURL`/`TARFILE`.tar.gz" dest=`TMPPATCH` sha256sum=b6f482b3c26422299f06524086d1f087e1d93f2748be18542945bca4c2df1569

      tags:

        -downsa

 

    - name: tarzxvf `TARFILE`.tar.gz file

      shell:tar zxvf "`TMPPATCH`/`TARFILE`.tar.gz" -C `TMPPATCH`

      tags:

        -tarxsa

 

    - name: Run`SHFILE` script

      shell:"`TMPPATCH`/`TARFILE`/`SHFILE`"

      tags:

        - runsa

### 说明:

- hosts: all     # 对应hostsz中主机内容

vars:         # 定义变量区域,注意:多变量应用时记得加双引号

tags:         # downsa\tarxsa\runsa  均对应playbook时标签,可以分别运行对应内容

#ansible-playbook /etc/ansible/dydg/sa.yml -k  # 下载、解压、运行脚本

# ansible-playbook /etc/ansible/dydg/sa.yml --tags downsa,tarxsa -k  # 下载、解压

# ansible-playbook /etc/ansible/dydg/sa.yml--tags downsa -k     # 仅下载

# ansible-playbook /etc/ansible/dydg/sa.yml--tags tarxsa -k      # 仅解压

# ansible-playbook /etc/ansible/dydg/sa.yml--tags runsa -k    # 仅运行脚本

### 注意:脚本运行不回显,若想看执行过程可以使用命令模式

2定制hosts,路径:/etc/ansible/dydg/hosts

# ansible-playbook -i/etc/ansible/dydg/hosts /etc/ansible/dydg/sa.yml -k    # 指定hosts路径