puppet之资源
资源
资源的定义
一个帐号,一个文件,目录,软件包都可以称作是资源,每个资源的定义都具有标题,类型,以及一些列属性。
常见的资源有notify(调试与输出),file(配置文件),package(软件安装),service(服务管理),exec(执行命令),cron(定时脚本),user,group.
属性介绍:
Require:require引用的对象执行之后该资源才可被应用
Notify:当资源对象改变的时候,通知某个资源进行更新
定义一个用户的属性:
vim /etc/puppet/manifests/site.pp
解析:ensure:默认属性,创建用户用present,删除用户用absent.
Shell:登录时指定shell,shell是必须存在且可执行的
定义个一个用户的属性:
group { "mimi":
ensure=>present,
gid=>900,
allowupdate=>false,
}
解析:allowupdate:默认为false,允许使用同一gid。
软件的安装:
自动安装部署vsftpd服务
注意:vsftpd.conf文件的默认权限是600.需要把权限改为644.让puppet有读的权限。require引用的对象执行之后该资源才可被应用
Notify:当资源对象改变的时候,通知某个资源进行更新。重新上传vsftpd的配置文件后重启服务
解析:如果要安装多个软件包,可以将软件包写成数组端的形式
文件管理i
向客户端创建文件:
向客户端创建目录:
让客户端拷贝自身文件
向客户端上传文件并修改权限:
服务管理:
定时脚本
假设每天早上6点执行输出update到/tmp/time1
Cron {
‘echo’:
Command=>”/bin/echo `uptime`>> /tmp/time”,
User=>root,
Hour=>6,
Minute=>0
}
每分钟执行1次
假设每两个小时执行一次
假设晚上11点到早上8点之间每两个小时执行一次,以及早上8点执行一次
执行命令:
加压文件至/tmp下,如果‘/tmp/myfile不存在,则执行exec命令,如果文件存在则不执行
解析:creates:指定命令生成的文件,文件加不存在时执行
Cwd:指定命令执行的当前目录
Path:执行命令的搜索路径,可以采用全路径分组,使用冒号 分割
当文件返回为0时exec资源才会被执行
解析:onlyif 参数中设置的命令返回0时才执行,即参数成功执行以后才执行
文件的挂载
vim /etc/puppet/manifests/site.pp
18 package {
19 "nfs-utils":
20 ensure => present
21 }
22 file {
23 "/public":
24 ensure => directory
25 }
26 mount {
27 "/public":
28 device => "172.25.7.250:/var/ftp/pub",
29 fstype => "nfs",
30 options => "defaults",
31 ensure => mounted
32 }
puppet之资源的更多相关文章
- 自动化运维工具之Puppet常用资源(一)
前文我们聊到了puppet的架构,单机模型和master/agent模型的工作流程以及puppet的基础使用,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/14 ...
- 自动化运维工具之Puppet常用资源(二)
前文我们了解了部分puppet的资源的使用,以及资源和资源的依赖关系的定义,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/14071459.html:今天我们继 ...
- puppet(2)-资源介绍
puppet- 资源介绍: 类型.属性与状态同实现方式分离.仅指定目标状态 type {'title': attribute => value, ... } 查看支持的资源类型: puppet ...
- Puppet file资源使用
1.文件管理介绍: 可管理的项目: 支持文件和目录 设置文件及目录的所有者及权限 恢复文件(包括文件的内容.权限及所有者) 清理目录以及子目录 2. 可使用参数: ensure :指 ...
- (4)puppet常用的资源及其常用属性
1.user资源就是用来管理目标服务器上的用户的,比如创建用户.修改用户.删除用户,user资源的常用属性如下 user{'test': ensure => present, uid => ...
- (3)puppet清单定义资源的语法
1.先看两个例子: a.创建一个文件 file{"/tmp/12567.txt": content => aaaaababbau, ensure => present ...
- 第一篇puppet
1,什么是puppet puppet是一种Linux.Unix.windows平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件.用户.cron任务.软件包.系统服务等.puppe ...
- Puppet权威指南
<Puppet权威指南>基本信息作者: 王冬生 丛书名: Linux/Unix技术丛书出版社:机械工业出版社ISBN:9787111485988上架时间:2014-12-25出版日期:20 ...
- puppet运维配置实列
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABQkAAAGBCAIAAABKMKAEAAAgAElEQVR4nOydeXwU9cH/t2o9WutR+7
随机推荐
- 威胁猎杀实战(三):基于Wazuh, Snort/Suricata和Elastic Stack的SOC
https://www.secpulse.com/archives/81629.html
- vue问题八:动态加载loading、浏览器图标
全局动态加载loading: 参考文档:https://blog.csdn.net/qq_34825875/article/details/79570301 在main.js或者index.js引用 ...
- 在 Android 中如何调用 C 语言?
当我们的 Java 需要调用 C 语言的时候可以通过 JNI 的方式,Java Native Interface.Android 提供了对 JNI 的支持, 因此我们在 Android 中可以使用 J ...
- 巧用JavaScript语言特性解耦页面间调用
一个很小的技巧,留下一笔,供日后查看. 业务场景: 一个页面A,打开一个新窗口页面B,执行业务操作,B执行完后,回调A页面方法,并关闭自身. 最原始方法: 最直接的方法莫过于在B页面直接调用A页面的某 ...
- IP冲突如何把冲突的IP挤下去
把冲突IP挤下去的方法: ①进入网络和共享中心>本地连接>禁用. ②进入网络和共享中心>更改适配器设置>双击被禁用的连接,自动重新连接即可.
- 阶段3 2.Spring_02.程序间耦合_7 分析工厂模式中的问题并改造
循环打印 工厂了的打印先注释掉 打印出来了5次对象. 打印数字i同时,让i++操作.为了看他被常见了几次实例 调用保存的方法 没个都想都有一个唯一的实例.在创建对象的时候,重新初始化了i的值.所以i每 ...
- PowerDesigner_15连接Oracle11g,反向工程导出模型图
1.启动PowerDesigner2.菜单:File->ReverseEngineer->Database出来NewPhysicalDataModel对话框,DBMS选择ORACLEVer ...
- P3611 【[USACO17JAN]Cow Dance Show奶牛舞蹈】
想了一下还是不发以前做过的水题了,意义也不是很大,现在的话大概只有洛谷黄题以上才会收录了哦~~~ 喵了个咪的题面~~ 洛谷题解dalao不是P党就是优先队列,看的我作为一个新手蒟蒻好慌啊... 这题用 ...
- 【转载】ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'
转载出处 在网上下载了一个免安装包的MySQL,准备自己create database jhp_test,使用的时候出现报错,如下: ERROR (): Access denied for user ...
- 【VS开发】Caffelib中出现的问题:强制链接静态库所有符号(包括未被使用的)
C++程序在链接一个静态库时,如果该静态库里的某些方法没有任何地方调用到,最终这些没有被调用到的方法或变量将会被丢弃掉,不会被链接到目标程序中.这样做大大减小生成二进制文件的体积.但是,某些时候,即使 ...