puppet(1.7-2.1)
puppet配置模块(一)
模块是puppet的最大单元,模块里面有类,类下面有资源。同步文件、远程执行命令、cron等叫做资源,都是通过模块来实现的。下面我们来定义一个模块:
在服务端上做如下操作:
mkdir /etc/puppet/modules/testm //模块名字就是 testm
cd /etc/puppet/modules/testm
mkdir {files,manifests,templates} //一个模块下需要有这三个目录,files存一些文件(可以为空),manifests存配置文件,templates存模板(可以留空)
touch manifests/init.pp //这个是必须的
vi manifests/init.pp //内容如下
class testm{
file {"/tmp/2.txt":
owner => "root",
group => "root",
mode => 0400,
source => "puppet://$puppetserver/modules/testm/1.txt"
}
}
说明:类名字也叫做testm, 类下面定义了一个资源file,文件名字叫做/tmp/2.txt ,owner,group,mode定义文件的属主、数组以及权限,source定义这个文件从哪里获取。 $puppetserver一会也要定义一下,这里指的是puppet server服务器上/etc/puppet/modules/testm/files/1.txt
puppet配置模块(二)
下面要继续定义一个很关键的配置文件:
vim /etc/puppet/manifests/site.pp //内容如下
$puppetserver = 'web9.xuan.com'
node 'web10'{
include test
}
说明:$puppetserver 定义服务端的主机名,node后面为客户端的主机名,这里面定义该客户端要加载的模块
配置完成后,在客户端执行命令:
puppet agent --test --server=web9.xuan.com //如果客户端上启动了puppet服务,不用执行这命令,它也会自动同步的
puppet文件或目录资源(1)
上面的模块其实只是同步了一个文件而已,那么要想同步一个目录如何做?我们可以通过实现同步一个目录来做一个包发布系统。 比如在一台机器上编译安装好了apache,那么就可以通过这样的模块把这个apache目录整个分发到其他机器上。
这是在服务端上的配置
模块配置文件如下:
vi /etc/puppet/modules/testm/manifests/init.pp
class apache{
file {"/usr/local/apache2": (对方机器所在的目录)
owner => "root",
group => "root",
source => "puppet://$puppetserver/modules/testm/apache2", (这个是从哪里下载)
recurse => true, (针对目录的)
purge => true (支持删除操作)
}
}
cd /etc/puppet/modules/testm/files
mkdir apache2 ; cd apache2
mkdir {conf,bin,logs}
touch conf/a.conf ; touch bin/xuan ; touchu logs/qq.log
echo "asdfghjkl" > conf/a.conf
vim /etc/puppet/manifests/site.pp
$puppetserver = 'web9.xuan.com'
node 'web10'{
include test
include apache
}
可以在客户端上ls /usr/local/下会有一个Apache2
服务端
vim /etc/puppet/modules/testm/files/apache2/bin/xuan
qwertyuiop
tail /var/log/messages
其中recurse=>true 这个参数很关键,它表示递归的意思,没有这个不能同步目录。purge参数可以保证当服务端删除某个文件,客户端可以跟着删除。
puppet远程执行命令
远程执行命令:
vi /etc/puppet/modules/testm/manifests/init.pp
exec {"123":
unless => "test -f /tmp/xuan.txt",
path => ["/bin", "/sbin", "/usr/bin", "/usr/sbin"],
command => "/bin/touch /tmp/xuan.txt"
}
说明:unless后面的命令作为一个条件,当条件成立时,不会执行下面的命令,如果想要条件成立时,执行下面的命令,用 onlyif。要注意的是,我们一定要给执行的这条命令加个条件,使用unless就可以,必须满足这个条件才能执行命令,否则这个命令会一直执行,不太妥当。
puppet配置cron
服务端上配置
cron资源:
cron {"xuan":
command => "/sbin/ntpdate time.windows.com",
user => "root",
minute => "*/10",
monthday => "10-15",
# ensure => "absent" //当增加了这行配置,则会把该cron删除掉
}
在客户端上crontab -l你会可以看到更改
说明:分时日月周分别对应puppet里面的minute,hour,monthday,month,weekday
转载于:https://blog.51cto.com/10915585/1744787
相关文章:

ldconfig动态链接库管理以及修改ld.so.conf.d
将"/usr/local/lib"加入配置文件重 执行命令: #echo "/usr/local/lib" >> /etc/ld.so.conf 然后再直接执行: #ldconfig /etc/ld.so.conf.d/* 或/etc/ld.so.conf和ldconfig. /etc/ld.so.conf.d/*目录下的文件和/etc/ld.so.co…
深度残差收缩网络:借助注意力机制实现特征的软阈值化
作者 | 哈尔滨工业大学(威海)讲师 赵明航本文解读了一种新的深度注意力算法,即深度残差收缩网络(Deep Residual Shrinkage Network)。从功能上讲,深度残差收缩网络是一种面向强噪声或者高度冗余数据的特征学…

如何在同一台电脑上多个账户同时登陆MSN
一般情况下,在一台电脑上只能启动一个msn进程,所以当想多个账户在同一台电脑上同时登陆时,就无法实现了。我们可以使用MSNShell来实现多个账户的同时登陆。MSNShell下载地址:http://www.msnshell.netMSNShell系统要求:…

LINUX动态链接库的创建与使用
大家都知道,在 WINDOWS系统中有很多的动态链接库(以.DLL为后缀的文件,DLL即Dynamic Link Library)。这种动态链接库,和静态函数库不同,它里面的函数并不是执行程序本身的一部分,而是根据执行程序需要按需装入ÿ…

多模态商品推荐与认知智能背后的数学
在数据挖掘领域,KDD CUP是最有影响力、最高水平的国际顶级赛事,堪称大数据的“奥运会”。阿里巴巴作为KDD CUP 2020的主办方为参赛团队准备了两大赛题,第一道是关于“电商场景的多模态商品推荐”,下面就这一道题目从认知智能与数学…

Asp.net MVC2.0系列文章-运行Web MVC2.0 Demo
安装VS2010 首先安装VS2010,安装过程请参考文章:http://www.cnblogs.com/ywqu/archive/2010/01/27/1657450.html。创建第一个MVC2.0程序 新建一个asp.net MVC2.0网站程序,如下图:提示是否新建单元测试工程,选择创建Uni…

one pragmatical sqlhelper
namespace ConsoleApplication2 {using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Data.SqlClient;using System.Configuration;public class SqlHelper{/// <summary>/// 连接字符串/// </summa…

LINUX动态链接库高级应用
在《 LINUX下动态链接库的创建与应用》 一文中,我介绍了LINUX动态链接库的基本知识.其要点是:用户根据实际情况需要,利用dlopen,dlsym,dlclose等动态链接库操作函 数,装入指定的动态链接库中指定的函数,然后加以执行.程序中使用很少的动态函数时,这样的做法尚可.如果程序需要调…
林轩田机器学习基石课程学习笔记1 -- The Learning Problem
来源 | AI 算法与图像处理 主要内容What is Machine LearningApplications of Machine LearningComponents of Machine LearningMachine Learning and Other FieldsWhat is Machine Learning什么是“学习”?学习就是人类通过观察、积累经验,掌握某项技能…

裸创,你敢吗?
呵呵

ecshop修改注册、增加手机
1.去掉“用户名”注册 a.去掉提交 user_passport.dwt页面去掉 <input name"username" type"text" size"30" id"username" οnblur"is_registered(this.value);" class"input_login" />提交 b.去掉js表单验证…
使用NetBeans IDE开发C程序
使用NetBeans IDE开发C程序 在windows下开发调试linux环境的代码,同时还可以拷贝到Linux环境。 其实是NetBeans可以连接到远程Linux服务器,使用其中的GNU编译环境。 1.打开NetBeans,新建C/C项目: 下一步: 如果之前配置…

实验七 访问列表配置
实验七 访问列表配置 预备知识: ACL指令的放置顺序是很重要的。 当路由器在决定是否转发或者阻止数据报的时候,Cisco的IOS软件,按照ACL中指令的顺序依次检查数据报是否满足某一个指令条件。 当检测到某个指令条件满足的时候,就不会…
京东商城背后的AI技术能力揭秘 - 基于关键词自动生成摘要
来源 | 京东智联云开发者过去几十年间,人类的计算能力获得了巨大提升;随着数据不断积累,算法日益先进,我们已经步入了人工智能时代。确实,人工智能概念很难理解,技术更是了不起,背后的数据和算法…

CSS哲学伪命题
标题党。这篇文章断断续续的修改过好几次,也没有满意,本来是想总结一下我这些零散的 CSS 知识结构,可能由于知识体系不全面,总是没能把知识点串联成一个通顺的内容。贴出来权当大家一起讨论下“前世今生”。文章后续可能会不定时更…

Linux TCP/IP协议栈笔记
数据包的接收作者:kendoKernel:2.6.12一、从网卡说起这并非是一个网卡驱动分析的专门文档,只是对网卡处理数据包的流程进行一个重点的分析。这里以Intel的e100驱动为例进行分析。大多数网卡都是一个PCI设备,PCI设备都包含了一个标…
技术大佬的肺腑之言:“不要为了 AI 而 AI”! | 刷新 CTO
扫描上方二维码直达精彩回顾整理 | 伍杏玲出品 | CSDN(ID:CSDNnews)据 CSDN 最新数据统计显示,在 CSDN 3000万的注册开发者中,689 万开发者有阅读、撰写与研究 AI 技术的行为,聚焦 AI 学习及应用的开发者人…

Silverlight中使用CompositionInitializer宿主MEF
MEF可以在传统应用程序中使用(包括桌面的Winform、控制台程序和Web的ASP.NET),也可以在RIA的Silverlight中使用。在Silverlight中只是宿主的方式有所不同,实际上在Silverlight中也可以像传统应用程序中是方式去宿主,ME…
Verilog与SystemVerilog编程陷阱:怎样避免101个常犯的编码错误
这篇是计算机类的优质预售推荐>>>>《Verilog与SystemVerilog编程陷阱:怎样避免101个常犯的编码错误》 编辑推荐 纠错式学习,从“陷阱”中学习编程,加深对语言本身的理解。逆向式学习,从错误中学习避免错误的方法。让读…

Linux网卡驱动程序编写
Linux网卡驱动程序编写 [摘自 LinuxAID] 工作需要写了我们公司一块网卡的Linux驱动程序。经历一个从无到有的过程,深感技术交流的重要。Linux作为挑战微软垄断的强有力武器,日益受到大家的喜爱。真希望她能在中国迅速成长。把程序文档贴出来࿰…
旷视提双边分支网络BBN:攻坚长尾分布的现实世界任务 | CVPR 2020 Oral
作者 | 旷视研究院出品 | AI科技大本营(ID:rgznai100)导读:本文是旷视 CVPR 2020 论文系列解读文章,也是 CVPR 2020 Oral展示论文之一,它揭示了再平衡方法解决长尾问题的本质及不足:虽然增强了分类器性能&a…

kissy core
http://code.google.com/p/kissy/转载于:https://www.cnblogs.com/pinnasky/archive/2010/07/07/1772646.html
VIM多窗口编辑
vim提供多窗口编辑的功能,可以简化复合的编辑任务。vim的多窗口并不是说在终端上启动多个vim实例。启动多窗口编辑 vim的多窗口是动态的,可以开始编辑时就打开多窗口,也可以工作时随时增加新窗口,或者删除一个窗口。$ …
从Nginx绑定80端口学套接字编程
《UNIX网络编程(卷1):套接字联网API(第3版)》 ngx_connection.c ngx_int_t ngx_open_listening_sockets(ngx_cycle_t *cycle) {int reuseaddr;ngx_uint_t i, tries, failed;ngx_err_t err;ngx_log_t *log;ngx_socket_t …
中国无人机“老炮儿”回忆录
整理 | 夕颜采访嘉宾 | 刘宾,通飞航空总工程师、飞行教员来源 | CSDN(ID:CSDNnews)今天的采访嘉宾有些与众不同,在我的印象中,这是一位不原意用“中国式”讲话与人沟通的人,因为费劲,也只有在回…

一些常用DOS命令
1. gpedit.msc-----组策略2. sndrec32-------录音机3. Nslookup-------IP地址侦测器4. explorer-------打开资源管理器5. logoff---------注销命令6. tsshutdn-------60秒倒计时关机命令7. lusrmgr.msc----本机用户和组8. services.msc---本地服务设置9. oobe/msoobe /a----检查…

linux文本编辑nano
2019独角兽企业重金招聘Python工程师标准>>> Nano命令指南 今天在输命令时,无意中输入了nano,对这个命令不太熟悉,结果不知道如何才能退出,保存,赶快查了一下资料,原来是这样的啊。打开文件与新…

write的奥秘
在Linux下我们在使用设备的时候,都会用到write这个函数,通过这个函数我们可以象使 用文件那样向设备传送数据。可是为什么用户使用write函数就可以把数据写到设备里面 去,这个过程到底是怎么实现的呢? 这个奥秘就在于设备驱动…

常用的键盘命令
Alt空格C 关闭窗口 <?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />Alt空格N 最小化当前窗口 Alt空格R 恢复最小化窗口 Alt空格X 最大化当前窗口 Alt空格M 移动窗口 Alt空格S 改变窗口大小 AltTab 两个程序交换 Alt255 QQ号中输…
京东智能内容创作算法的演进与实践:基于关键词自动生成摘要
来源 | 京东智联云开发者导读:京东商城背后的 AI 技术能力揭秘: 基于关键词自动生成摘要过去几十年间,人类的计算能力获得了巨大提升;随着数据不断积累,算法日益先进,我们已经步入了人工智能时代。确实&…