91. cdist-type__rsync(7)

Mirror directories using rsync

Nico Schottelius <nico-cdist--@--schottelius.org>

91.1. DESCRIPTION

WARNING: This type is of BETA quality:

  • it has not been tested widely
  • interfaces may change
  • if there is a better approach to solve the problem -> the type may even vanish

If you are fine with these constraints, please read on.

This cdist type allows you to mirror local directories to the target host using rsync. Rsync will be installed in the manifest of the type. If group or owner are giveng, a recursive chown will be executed on the target host.

A slash will be appended to the source directory so that only the contents of the directory are taken and not the directory name itself.

91.2. REQUIRED PARAMETERS

source
Where to take files from

91.3. OPTIONAL PARAMETERS

group
Group to chgrp to.
owner
User to chown to.
destination
Use this as the base destination instead of the object id
remote-user
Use this user instead of the default “root” for rsync operations.

91.4. OPTIONAL MULTIPLE PARAMETERS

rsync-opts
Use this option to give rsync options with. See rsync(1) for available options. Only “–” options are supported. Write the options without the beginning “–” Can be specified multiple times.

91.5. MESSAGES

NONE

91.6. EXAMPLES

# You can use any source directory
__rsync /tmp/testdir \
    --source /etc

# Use source from type
__rsync /etc \
    --source "$__type/files/package"

# Allow multiple __rsync objects to write to the same dir
__rsync mystuff \
    --destination /usr/local/bin \
    --source "$__type/files/package"

__rsync otherstuff \
    --destination /usr/local/bin \
    --source "$__type/files/package2"

# Use rsync option --exclude
__rsync /tmp/testdir \
    --source /etc \
    --rsync-opts exclude=sshd_conf

# Use rsync with multiple options --exclude --dry-run
__rsync /tmp/testing \
    --source /home/tester \
    --rsync-opts exclude=id_rsa \
    --rsync-opts dry-run

91.7. SEE ALSO

91.8. COPYING

Copyright (C) 2015 Nico Schottelius. Free use of this software is granted under the terms of the GNU General Public License version 3 (GPLv3).