puppet+svn管理windows和linux客户端
在运维过程中经常会管理windows和linux客户端,为了减少运维工作,现总结用puppet和svn来管理windows,linux机器;puppet主要用来管理windows和linux客户端的软件安装,计划任务,执行命令等作用,而svn主要用来管理web端的文件更新。ps:puppetmaster和client的安装这里不做过多介绍,这里主要介绍puppet安装windows svn客户端(linux安装svn也很简单,不介绍),svn更新web文件。
web:windows
mysql:linux
puppetmaster+svn server:linux
admin:windows,本地操作机
总体架构如下:
1.配置puppet的svn模块,此模块安装后可以在windows端使用svn.exe更新
2.将windows svn client 的安装包和windows更新脚本svn.bat,通过puppet传输到windows服务器上,然后进行安装
安装完毕后,svn.bat会传输到svn的bin目录下
windows-svn模块init.pp如下:
puppet client在一定时间后,会从puppet master同步并进行安装svn client,结果如下:
3.安装完成,我们只需要设置计划任务,先将版本库check out到本地svn co -q --username test --password 1234svn://172.16.1.99/project D:\data\web
,然后让svn.bat每5分钟执行一次,svn.bat内容如下:
svn up D:\data\web
4.操作人员只需在本地操作机上往svn更新文件即可,剩下的工作交给puppet 和svn吧
总结:puppet管理windows客户端,在计划任务上不能精确地分钟,只能在日,月,年,周上进行,因此我们的svn.bat脚本的计划任务无法在puppet master上直接定义好,让客户端执行,这是个比较麻烦的地方
官网puppet介绍如下(http://docs.puppetlabs.com/references/latest/type.html#scheduled_task-attribute-working_dir):
页:
[1]