parent
dc616a6996
commit
85876592e3
@ -0,0 +1,44 @@ |
||||
#!/bin/sh |
||||
# |
||||
# Copyright (C) 2011 Daniel Maher (phrawzty+cdist at gmail.com) |
||||
# |
||||
# This file is part of cdist (https://github.com/telmich/cdist/). |
||||
# |
||||
# cdist is free software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# cdist is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with cdist. If not, see <http://www.gnu.org/licenses/>. |
||||
# |
||||
|
||||
source="$(cat "$__object/parameter/source")" |
||||
|
||||
if [ -f "$__object/parameter/destination" ]; then |
||||
destination="$(cat "$__object/parameter/destination")" |
||||
else |
||||
destination="/$__object_id" |
||||
fi |
||||
|
||||
# The system binary is probably ok, but if not... |
||||
if [ -f "$__object/parameter/rsyncbin" ]; then |
||||
rsyncbin="$(cat "$__object/parameter/rsyncbin")" |
||||
else |
||||
rsyncbin=`which rsync` |
||||
fi |
||||
|
||||
args='-a --stats' |
||||
|
||||
# If the --delete argument should be passed to rsync. |
||||
if [ -f "$__object/parameter/delete" ]; then |
||||
args="$args --delete" |
||||
fi |
||||
|
||||
# Run rsync (locally). |
||||
echo "$rsyncbin $args $source root@$__target_host:$destination" |
@ -0,0 +1,62 @@ |
||||
cdist-type__rsyncer(7) |
||||
====================== |
||||
Daniel Maher <phrawzty+cdist at gmail.com> |
||||
|
||||
|
||||
NAME |
||||
---- |
||||
cdist-type__rsyncer - Use rsync to copy files. |
||||
|
||||
|
||||
DESCRIPTION |
||||
----------- |
||||
This type is used to trigger rsync to copy files from the machine running cdist |
||||
(source) to the target machine in question (destination). The likely usage is |
||||
the rapid deployment of full directory trees, the cohorency of which can be |
||||
guarunteed with the optional --delete argument, which will remove any files |
||||
from the destination which are not present on the source. |
||||
|
||||
|
||||
REQUIRED PARAMETERS |
||||
------------------- |
||||
source:: |
||||
The full path of the source from which to copy. This is passed directly |
||||
to rsync. |
||||
|
||||
|
||||
OPTIONAL PARAMETERS |
||||
------------------- |
||||
destination:: |
||||
The full path of the destination. This is passed directly to rsync. |
||||
Default: object_id |
||||
|
||||
delete:: |
||||
If true, remove files from destination which are not in source. This is |
||||
effectively the --delete argument of rsync. |
||||
Default: false |
||||
|
||||
rsyncbin:: |
||||
Specify the full path to the rsync binary. |
||||
Default: `which rsync` |
||||
|
||||
EXAMPLES |
||||
-------- |
||||
|
||||
-------------------------------------------------------------------------------- |
||||
# Basic example |
||||
__rsyncer '/home/foo' --source '/opt/dist/foo' |
||||
|
||||
# Fancier example |
||||
__rsyncer FOO --source '/opt/dist/foo' --destination '/home/foo/' --delete true |
||||
-------------------------------------------------------------------------------- |
||||
|
||||
|
||||
SEE ALSO |
||||
-------- |
||||
- cdist-type(7) |
||||
|
||||
|
||||
COPYING |
||||
------- |
||||
Copyright \(C) 2011 Daniel Maher. Free use of this software is granted under |
||||
the terms of the GNU General Public License version 3 (GPLv3). |
@ -0,0 +1,3 @@ |
||||
destination |
||||
delete |
||||
rsyncbin |
@ -0,0 +1 @@ |
||||
source |
Loading…
Reference in new issue