cfengine配置

 在刚刚安装完cfengine时,会在masterfiles里发现有三个配置文件,分别是cfengine_stdlib.cf、  failsafe.cf、promises.cf。现在分别讲解这三个文件。

promises.cf

服务运行时默认的配置文件,运行cf-execd时会默认加载这个配置。这个文件主要定义全局变量,

约束cf-agent、cf-serverd、cf-execd、cf-report、cf-monitord、cf-runagent的行为。

  
  
  
  
  1. 样式:
  2. body common control 
  3.  bundlesequence => {  "main" };      # 调用bundle 
  4.  inputs => {   "cfengine_stdlib.cf" };   # 引用库文件 
  5. version => "Community Promises.cf 1.0.0"; # 版本 
  6. bundle agent main 
  7. # 报告cfengine的运行状态 
  8. bundle common def 
  9. {
  10.  # 定义全局变量,这里主要需要修改acl的值,允许哪个网段访问server
  11. body agent control 
  12. # 约束cf-agent的行为 
  13. body server control 
  14. # 约束cf-serverd的行为 
  15. bundle server access_rules() 
  16. # 授予资源访问权限
  17. # 如果要同步某个目录,必须在这里授予权限 
  18. body executor control 
  19. # 约束cf-execd的行为
  20. # 这里注意splaytime和schedule属性的值,
  21. # splaytime的值(不能大于schedule的间隔时间)代表client可以在规定时间内延迟多长时间更新策略,
  22. # 这样的好处在于降低server负载.
  23. # schedule的值代表定期启动cf-agent的时间,默认是每隔5分钟执行一次.
  24. # 注意exec_command => "$(sys.cf_twin) -f failsafe.cf && $(sys.cf_agent)";
  25. # cf-twin就是cf-agent,只不过取了个别名,cf-execd启动cf-agent调用failsafe.cf来更新策略,
  26. # 更新后,再调用promises.cf来落实策略
  27. # 所以单独执行cf-agent只是落实策略,并不会更新策略

 

cfengine_stdlib.cf

运行时需要的库文件,这个文件预定义了需要的bundles和bodies,策略重用。

主要的是软件包管理、文件修改、配置修改、用户管理、文件拷贝等。

 

failsafe.cf

更新策略、保证文件的权限,这里主要的是"bundle agent update"。

  
  
  
  
  1. # 更新策略
  2. am_policy_hub|validated_updates_ready::  # policy hub should always put masterfiles in inputs in order to check new policy 
  3.  
  4.  "$(inputs_dir)" 
  5.          comment => "Copy policy updates from master source on policy server if a new validation was acquired", 
  6.           handle => "update_files_inputs_dir", 
  7.        copy_from => u_rcp("$(master_location)","$(sys.policy_hub)"), 
  8.     depth_search => u_recurse("inf"), 
  9.     file_select  => u_input_files, 
  10.       depends_on => { "grant_access_policy", "check_valid_update" }, 
  11.           action => u_immediate, 
  12.          classes => u_if_repaired("update_report"); 

 

这里我仅仅修改两个地方

  
  
  
  
  1. 在body common def修改acl值
  2. acl slist => {"192.168.60.0/24",},
  3.  
  4. 在body executor control修改定期启动时间
  5. schedule => { "Min00_05", "Min30_35"};

 

你可能感兴趣的:(linux,update,配置管理工具,Cfengine,cf-agent,cf-execd)