As you can see from my response to Nakarin, it was just a minor issue with my directory path specifications in a couple of promises. I wasn't actually suggesting using scp. Rather, I was just giving an example of the behavior I wanted to replicate with a native Cfengine configuration.
Thanks, Justin -----Original Message----- From: help-cfengine-boun...@cfengine.org [mailto:help-cfengine-boun...@cfengine.org] On Behalf Of Erlend Leganger Sent: Thursday, March 18, 2010 1:26 AM To: help-cfengine@cfengine.org Subject: Re: Retrieving certain files from a directory On 17 March 2010 23:37, Justin Lloyd <jll...@digitalglobe.com> wrote: > > Ok, I'm stumped again. I've been working on a problem for hours. I want > to effectively do the following on each client: > > client# scp policy_host:/usr/local/etc/*.rc /usr/local/etc > > but I can't figure out how to set up the access rules and files promise. > I keep getting either access errors or a copy of the directory itself > (i.e. "."), not the *.rc files in the remote directory. Note that the > client's /usr/local/etc directory may well be empty, so I don't have a > list of files to update. I just want all of the remote location's *.rc > files. Does it have to be done using scp? I thought cf3 used secure connections, so that you could use cf3's copy_from, such as in update.cf below. I'm not sure if you can use wildcards in line 33 below, so maybe this will copy the whole directory, not only the *.rc files. - Erlend r...@m5000# cat -n update.cf 1 #----------------------------------------------------------------------- - 2 bundle agent update{ 3 vars: 4 "policyserver" string => "10.0.1.230"; 5 "policyfiles" string => "/export/cfengine/master"; 6 "cf3binaries" string => "/usr/local/sbin"; 7 8 files: 9 10 #--------------------------------------------------------------------- 11 #get policy files from policy server 12 "${sys.workdir}/inputs" 13 handle => "update_policy_files", 14 copy_from => getfiles("${policyserver}", "${policyfiles}"), 15 depth_search => recurse; 16 17 #--------------------------------------------------------------------- 18 #get cf3 binaries from policy server 19 "/var/cfengine/bin" 20 handle => "cf3_update_binaries", 21 #perms => u_p("700"), 22 copy_from => getfiles("${policyserver}","${cf3binaries}"), 23 depth_search => recurse, 24 action => immediate; 25 } 26 27 #----------------------------------------------------------------------- - 28 #define body of the getfiles "subroutine" 29 body copy_from getfiles(server, path) { 30 servers => { "${server}" }; 31 encrypt => "true"; 32 trustkey => "true"; 33 source => "${path}"; 34 compare => "digest"; 35 preserve => "true"; 36 verify => "true"; 37 purge => "true"; 38 } 39 40 #----------------------------------------------------------------------- - 41 body depth_search recurse { 42 depth => "inf"; 43 } _______________________________________________ Help-cfengine mailing list Help-cfengine@cfengine.org https://cfengine.org/mailman/listinfo/help-cfengine This electronic communication and any attachments may contain confidential and proprietary information of DigitalGlobe, Inc. If you are not the intended recipient, or an agent or employee responsible for delivering this communication to the intended recipient, or if you have received this communication in error, please do not print, copy, retransmit, disseminate or otherwise use the information. Please indicate to the sender that you have received this communication in error, and delete the copy you received. DigitalGlobe reserves the right to monitor any electronic communication sent or received by its employees, agents or representatives. _______________________________________________ Help-cfengine mailing list Help-cfengine@cfengine.org https://cfengine.org/mailman/listinfo/help-cfengine