Forum: Cfengine Help Subject: Re: Manage Solaris 10 Services (a working example) Author: berntjernberg Link to topic: https://cfengine.com/forum/read.php?3,20812,20824#msg-20824
Hi, Here is how I do it. I have a list of services to disable/enable like in SST(JASS). bundle common g { vars: "svcadm" string => "/usr/sbin/svcadm"; "svcs" string => "/usr/bin/svcs"; "services_to_disable" slist => { "svc:/network/ntp:default", "svc:/network/ntp4:default", .... .... }; "services_to_enable" slist => { "svc:/site/openntpd:default", .... .... }; } ##################################################### # Disable service. ##################################################### bundle agent disable_service(service) { vars: "service_status" string => execresult("$(g.svcs) -Ho state $(service) 2>/dev/null","useshell"); classes: "service_exist" not => regcmp("$(service_status)",""); "service_disabled" expression => regcmp("$(service_status)","disabled"); commands: service_exist.!service_disabled:: "$(g.svcadm)" args => "disable -s $(service)", classes => if_repaired("$(service)_disabled"); } ##################################################### # Enable service. ##################################################### bundle agent enable_service(service) { vars: "service_status" string => execresult("$(g.svcs) -Ho state $(service) 2>/dev/null","useshell"); classes: "service_exist" not => regcmp("$(service_status)",""); "service_enabled" expression => regcmp("$(service_status)","online"); commands: service_exist.!service_enabled:: "$(g.svcadm)" args => "enable -s $(service)", classes => if_repaired("$(service)_enabled"); } ############################################### # Disable services. ############################################### bundle agent disable_services { vars: "services_to_disable" slist => { @(g.services_to_disable) }; methods: "Disable" usebundle => disable_service("$(services_to_disable)"); } ############################################### # Enable services. ############################################### bundle agent enable_services { vars: "services_to_enable" slist => { @(g.services_to_enable) }; methods: "Enable" usebundle => enable_service("$(services_to_enable)"); } and then I run it with "JASS" usebundle => disable_services; "JASS" usebundle => enable_services; _______________________________________________ Help-cfengine mailing list Help-cfengine@cfengine.org https://cfengine.org/mailman/listinfo/help-cfengine