Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29334293
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类: LINUX

2010-11-06 08:27:33

有几点可以整理一下
1.refreshonly

该属性可以使命令变成仅刷新触发的,也就是说只有在一个依赖的对象被改变时,命令才会被执行。仅当命令与其他对象有依赖关系时,这个参数才有意义。当你要触发某个行为时,会显得很有用:

# Pull down the main aliases file
file { "/etc/aliases":
source => "puppet://server/module/aliases"
}

# Rebuild the database, but only when the file changes
exec { newaliases:
path => ["/usr/bin", "/usr/sbin"],
subscribe => File["/etc/aliases"],
refreshonly => true
}

要注意的是只有subscribe和notify可以促发行为,而不是require,所以在使用refreshonly时,只有同时使用subscribe或notify才有意义。有效的值为true, false。

PS:应用exec也就是要这样来用。比如我更改了一个配置文件想让其生效可以借助这个资源实现。

2.returns

指定返回的代码。如果被执行的命令返回了其他的代码,一个错误(error)会被返回。默认值是0,可以定义为一个由可以接受的返回代码组成的数组或单值。

PS:你在你的代码里面即command命令里面你是可以返回exit值的。

3.logoutput

是否记录输出。默认会根据exec资源的日志等级(loglevel) 来记录输出。若定义为on_failure,则仅在命令返回错误的时候记录输出。可取的值为:true,false和其他合法的日志等级。

如果命令被成功执行,所有的输出会被记录在实例的正常(normal)日志里,但是如果命令执行失败(既返回值与我们所指定的不同),那么所有的输出会在错误(err)日志中被记录。

但是我测试的过程中发现:

   测试发现exec里面指定returns的值时 当客户端主动过来请求的时候会报错。比如我指定returns=>0如果我的command返回1即就会报err!但是当我从服务器主动推的时候就不会报错了。

这个要怎么解决?




阅读(1473) | 评论(3) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2011-01-06 16:06:50

自强!

chinaunix网友2011-01-06 16:03:30

速度完成珍惜时间!

chinaunix网友2011-01-05 11:38:44

珍惜时间,把2011年的计划圆满完成掉!四件事情 1.项目平台 2.内核学习 3.系统管理 4.移动开发