.. _server-plugins-probes-fileprobes: ========== FileProbes ========== The FileProbes plugin allows you to probe a client for a file, which is then added to the :ref:`server-plugins-generators-cfg` specification. If the file changes on the client, FileProbes can either update it in the specification or allow Cfg to replace it. FileProbes will not probe a file if there's already a file in Cfg that will apply to the client. So if, for instance, you have a generic file in ``Cfg/etc/foo.conf/foo.conf`` that applies to all hosts, FileProbes will not retrieve ``/etc/foo.conf`` from the client (unless ``update`` is enabled; see Configuration_ below). When a new config file is first probed, an ``info.xml`` file is also written to enforce the permissions from that client. Subsequent probes from other clients will not modify or overwrite the data in ``info.xml``. (This ensures that any manual changes you make to ``info.xml`` for that file are not circumvented.) Configuration ============= FileProbes is configured in ``FileProbes/config.xml``, which might look something like: .. code-block:: xml This will result in ``/etc/foo.conf`` being retrieved from all clients; if it changes on a client, it will be overwritten by the version that was retrieved initially. Clients in the ``blah-servers`` group will be probed for ``/etc/blah.conf``; if it changes on a client, those changes will be written into the Bcfg2 specification. If the file is deleted from a client, it will be rewritten from Bcfg2. ``bar.example.com`` will be probed for ``/var/lib/bar.gz``, which contains non-ASCII characters and so needs to use base64 encoding when transferring the file. The paths probed by FileProbes must also be included as Path entries in your bundles in order to be handled properly by Cfg. Permissions are handled as usual, with ``info.xml`` files in Cfg.