标签:ansible 部署基于windows 2008 r2+rsync+alwaysup(守护进程)
准备:升级PowerShell3.0 及打开WinRM模块 参考文章:
下载软件包rsync
alwaysUp https://www.coretechnologies.com/products/AlwaysUp/
AlwaysUpCLT https://www.coretechnologies.com/products/AlwaysUp/AlwaysUpCLT/
inno setup 本机安装制作AlwaysUpCLT 安装包
rsync服务器文件同步使用,alwaysUp 守护进程工具应用程序启动使用 为了安全不提供安装文件
1、ansible 目录结构
├── alwaysUp │ └── daemon_alwaysup.xml.j2 #alwaysup添加apps模板 ├── AlwaysUpCLT.iss # AlwaysUpCLT 安装包 官方提供的是zip包 ansible 替换文件问题很多做成exe静默安装更快 ├── alwaysUp.retry # ansible 运行产生的hosts文件 ├── alwaysUp.yml # 使用ansible 导入alwaysup模板文件 ├── hosts # 服务器ip存放文件 ├── roles │ ├── alwaysup │ │ ├── defaults │ │ ├── files │ │ │ ├── AlwaysUpCLT.exe #客户机安装使用 │ │ │ └── AlwaysUp_Installer.exe #客户机安装使用 │ │ ├── handlers │ │ ├── meta │ │ ├── tasks │ │ │ └── main.yml #ansible 安装守护进程文件 │ │ ├── templates │ │ └── vars │ └── cwRsyncServer │ ├── defaults │ ├── files │ │ ├── cwRsyncServer_4.1.0_Installer.exe # rsync 服务器安装文件 │ │ │ ├── handlers │ ├── meta │ ├── tasks │ │ └── main.yml #ansible 安装rsync文件 │ ├── templates │ │ └── rsyncd.conf.j2 # rsync 服务器配置文件 │ └── vars ├── site.retry # ansible 运行产生的hosts文件 ├── site.yml # ansible 安装守护进程及rsync服务器使用 └── win_env.bat # 环境变量文件 ansible 操作 windows 环境变量很麻烦为了通site.yml 说明: - hosts: ‘{{host}}‘ #变量安装服务器别名 # gather_facts: False # 是否获取客户机的setup变量 部署软件建议注释掉 vars: rsync_port: 9999 # rsync 服务器端口 rsync_node: test # 访问rsync路径标签 rsync_path: c/test # rsync 服务器配置路径 sync_file: c:\test # 创建rsync 服务器数据路径 rsync_ip: 192.168.0.210 , 192.168.7.233 # rsync 服务器允许访问IP win_env: C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\ # 使用ansible 操作环境变量默认系统环境变量每台服务器环境变量不一样不通用本案例没使用 rsync_env: C:\"Program Files (x86)"\ICW\bin # rsync path变量 alwaysup_env: C:\"Program Files (x86)"\AlwaysUp # AlwaysUp path 变量 roles: - cwRsyncServer #ansible 安装 cwRsyncServer - alwaysup #ansible 安装alwaysup tasks: - name: evn #win_environment: #ansible 操作Windows 环境变量 #state: present #name: Path #value: ‘{{ win_env }};"{{ rsync_env }}";"{{ alwaysup_env }}"‘ #level: machine # when: ( rsync_path_register.stat.exists == False ) and (alwaysup_path_register.stat.exists == False) script: win_env.bat {{ rsync_env }} {{ alwaysup_env }} # 使用脚本操作系统环境变量 when: ( rsync_path_register.stat.exists == False ) and (alwaysup_path_register.stat.exists == False)