add initial version of __rsync
Signed-off-by: Nico Schottelius <nico@freiheit.schottelius.org>
This commit is contained in:
parent
6e483497de
commit
3cc2f13b9b
7 changed files with 120 additions and 0 deletions
19
cdist/conf/type/__rsync/gencode-local
Normal file
19
cdist/conf/type/__rsync/gencode-local
Normal file
|
@ -0,0 +1,19 @@
|
|||
source_dir=$(cat "$__object/parameter/source-dir")
|
||||
remote_user=$(cat "$__object/parameter/remote-user")
|
||||
|
||||
if [ -f "$__object/parameter/destination-dir" ]; then
|
||||
destination_dir=$(cat "$__object/parameter/destination-dir")
|
||||
else
|
||||
destination_dir="$__object_id"
|
||||
fi
|
||||
|
||||
set --
|
||||
if [ -f "$__object/parameter/rsync-opts" ]; then
|
||||
while read opts; do
|
||||
set -- "$@" "$opts"
|
||||
done
|
||||
fi
|
||||
|
||||
echo rsync -a \
|
||||
--no-owner --no-group \
|
||||
-q "$@" "${source_dir}/" "${remote_user}@${__target_host}:$destination_dir"
|
17
cdist/conf/type/__rsync/gencode-remote
Normal file
17
cdist/conf/type/__rsync/gencode-remote
Normal file
|
@ -0,0 +1,17 @@
|
|||
if [ -f "$__object/parameter/destination-dir" ]; then
|
||||
destination_dir=$(cat "$__object/parameter/destination-dir")
|
||||
else
|
||||
destination_dir="$__object_id"
|
||||
fi
|
||||
|
||||
ownergroup=""
|
||||
if [ -f "$__object/parameter/owner" ]; then
|
||||
ownergroup=$(cat "$__object/parameter/owner")
|
||||
fi
|
||||
if [ -f "$__object/parameter/group" ]; then
|
||||
ownergroup=":$(cat "$__object/parameter/group")"
|
||||
fi
|
||||
|
||||
if [ "$ownergroup" ]; then
|
||||
echo chown -R "$ownergroup" "$destination_dir"
|
||||
fi
|
77
cdist/conf/type/__rsync/man.text
Normal file
77
cdist/conf/type/__rsync/man.text
Normal file
|
@ -0,0 +1,77 @@
|
|||
cdist-type__rsync(7)
|
||||
====================
|
||||
Nico Schottelius <nico-cdist--@--schottelius.org>
|
||||
|
||||
|
||||
NAME
|
||||
----
|
||||
cdist-type__rsync - Mirror directories using rsync
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
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.
|
||||
|
||||
REQUIRED PARAMETERS
|
||||
-------------------
|
||||
source::
|
||||
Where to take files from
|
||||
|
||||
|
||||
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.
|
||||
|
||||
MESSAGES
|
||||
--------
|
||||
NONE
|
||||
|
||||
|
||||
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"
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
- cdist-type(7)
|
||||
|
||||
|
||||
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).
|
1
cdist/conf/type/__rsync/manifest
Normal file
1
cdist/conf/type/__rsync/manifest
Normal file
|
@ -0,0 +1 @@
|
|||
__package rsync
|
1
cdist/conf/type/__rsync/parameter/default/remote-user
Normal file
1
cdist/conf/type/__rsync/parameter/default/remote-user
Normal file
|
@ -0,0 +1 @@
|
|||
root
|
4
cdist/conf/type/__rsync/parameter/optional
Normal file
4
cdist/conf/type/__rsync/parameter/optional
Normal file
|
@ -0,0 +1,4 @@
|
|||
destination
|
||||
owner
|
||||
group
|
||||
remote-user
|
1
cdist/conf/type/__rsync/parameter/required
Normal file
1
cdist/conf/type/__rsync/parameter/required
Normal file
|
@ -0,0 +1 @@
|
|||
source-dir
|
Loading…
Reference in a new issue