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…
	
	Add table
		Add a link
		
	
		Reference in a new issue