zoukankan      html  css  js  c++  java
  • 2020/4/20 一键部署服务

    一键部署rsync服务

    [root@m01 conf]# cat /server/scripts/rsync.yaml 
    # command playbook
    - hosts: 172.16.1.41
      tasks:
         - name: setup01:install rsync
           yum: 
            name: rsync 
            state: installed
        - name: setup02:edit rsync conf file
            copy: 
              src: /etc/ansible/conf/rsyncd.conf 
              dest: /etc/
        - name: setup03:create rsync user
            user: 
              name: rsync 
              state: present 
              create_home: no 
              shell: /sbin/nologin
        - name: setup04:create auth file
            copy: 
              src: /etc/ansible/conf/rsync.password 
              dest: /etc/ 
              mode: 600
        - name: setup05:create backup dir
            file: 
              dest: /backup 
              state: directory 
              owner: rsync 
              group: rsync
        - name: setup06:boot rsync server
            shell: rsync --daemon creates=/var/run/rsyncd.pid
     - hosts: 172.16.1.31
        tasks:
          - name: setup01:create auth file
            copy: 
              src: /etc/ansible/conf/rsync_client.password 
              dest: /etc/rsync.password 
              mode: 600
    

    ansible一键部署脚本(NFS)

    [root@m01 scripts]# cat nfs.yaml 
    # command playbook
    #部署服务器
    - hosts: nfs
      tasks:
        - name: setup01:install rpcbind server
          yum: 
            name: nfs-utils 
            state: installed
        - name: setup02:install rpcbind server
          yum: 
            name: rpcbind 
            state: installed
        - name: setup03:edit conf
          copy: 
            src: /etc/ansible/conf/nfs_conf/exports 
            dest: /etc/
        - name: setup04:create backup directory
          file: 
            dest: /data 
            state: directory 
            owner: nfsnobody 
            group: nfsnobody
        - name: setup05:boot rpc server
          shell: /etc/init.d/rpcbind start
        - name: setup06:boot nfs server
          shell: /etc/init.d/nfs start
    #部署客户端
    - hosts: web
      tasks:
        - name: setup01:install nfs rpc
          yum: 
            name: nfs-utils 
            state: installed
        - name: setup02:install rpcbind server
          yum: 
            name: rpcbind 
            state: installed
        - name: setup03:mount 
          mount:
            name: /mnt 
            src: 172.16.1.31:/data 
            fstype: nfs 
            state: mounted
    

    一键部署inotify服务(在已有rsync服务的前提下)

    #inotify.yaml文件
    [root@m01 scripts]# cat inotify.yaml 
    # command playbook
    
    - hosts: nfs
      tasks:
       - name: setup01:install inotify-tools
         yum:
           name: inotify-tools
           state: installed
       - name: setup02:inotify建立rsync服务的连接
         shell: /bin/sh /server/scripts/inotify.sh &
    # inotify脚本
    [root@m01 scripts]# cat inotify.sh 
    #!/bin/bash
    inotifywait -mrq --format "%w%f" -e create,delete,moved_to,close_write /data |
    while read line
    do
    rsync -az --delete /data/ rsync@172.16.1.41::backup --password-file=/etc/rsync.password
    done
    [root@m01 scripts]# 
    

    一键部署sersync服务(在已有rsync服务前提下)

    [root@m01 sersync_conf]# cat /server/scripts/sersync.yaml 
    # command playbook
    
    - hosts: nfs
      tasks:
       - name: setup01 dir tools
         file:
           dest: /tools
           state: directory
       - name: setup02:unzip sersync-master
         unarchive: 
           src: /tools/sersync-master.zip
           dest: /tools/
           copy: yes
       - name: setup03:tar sersync
         unarchive: 
           src: /tools/sersync-master/sersync2.5.4_64bit_binary_stable_final.tar.gz  
           dest: /tools/
           copy: no 
       - name: setup04:mv GNU-Linux-x86 to nfs
         shell: mv /tools/GNU-Linux-x86 /usr/local/sersync
       - name: setup05:edit conf
         copy:
           src: /etc/ansible/conf/sersync_conf/confxml.xml
           dest: /usr/local/sersync/
       - name: setup06:boot sersync
         shell: /usr/local/sersync/sersync2 -dro /usr/local/sersync/confxml.xml
    

    一键部署Nginx服务

    [root@m01 scripts]# cat nginx.yaml 
    # command playbook
    
    - hosts: web
      tasks:
       - name: setup01:install pcre-devel
         yum:
          name: pcre-devel
          state: installed
       - name: setup02:install openssl-devel
         yum: 
           name: openssl-devel
           state: installed
       - name: setup03:create www user
         user:
           name: www
           state: present
           create_home: no
           shell: /sbin/nologin
       - name: setup04:create dir
         file:
           dest: /server/tools
           state: directory
       - name: setup05:wget nginx
         get_url: 
           url: http://nginx.org/download/nginx-1.15.8.tar.gz
           dest: /server/tools
       - name: setup06:tar nginx
         unarchive:
           src: /server/tools/nginx-1.15.8.tar.gz
           dest: /server/tools
           copy: no
       - name: setup06:install nginx
         shell: cd /server/tools/nginx-1.15.8;./configure --prefix=/application/nginx-15.
    8 --user=www --group=www --with-http_ssl_module --with-http_stub_status_module   - name: setup07:make
         shell: cd /server/tools/nginx-1.15.8;make && make install
       - name: setup08:ln nginx
         file:
          src: /application/nginx-15.8 
          dest: /application/nginx
          state: link
       - name: setup09:boot nginx
         shell: /application/nginx/sbin/nginx
    
  • 相关阅读:
    传说中的WCF(12):服务器回调有啥用
    传说中的WCF(11):会话(Session)
    传说中的WCF(10):消息拦截与篡改
    传说中的WCF(9):流与文件传输
    传说中的WCF(8):玩转消息协定
    传说中的WCF(7):“单向”&“双向”
    传说中的WCF(6):数据协定(b)
    传说中的WCF(5):数据协定(a)
    传说中的WCF(4):发送和接收SOAP头
    测试工作绝不仅限于点点点!
  • 原文地址:https://www.cnblogs.com/yuzhiboyou/p/12737749.html
Copyright © 2011-2022 走看看