#!/bin/sh # # 2011 Nico Schottelius (nico-cdist at schottelius.org) # # This file is part of 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 . # # # Push a directory to a target, both sides have the same name (i.e. explorers) # or # Pull a directory from a target, both sides have the same name (i.e. explorers) # __cdist_dir() { [ $# -eq 3 ] || __cdist_usage " " # ${3%/*} will be the destination directory, so no subdirectories # of the same name are created, if the directory is already existing if [ "$1" = "push" ]; then # FIXME: add error handling with __cdist_run_remote_... or so ssh "${__cdist_remote_user}@${__cdist_target_host}" \ "mkdir -p \"$3\"" scp -qr "$2" \ "${__cdist_remote_user}@${__cdist_target_host}:${3%/*}" elif [ "$1" = "pull" ]; then mkdir -p "$3" scp -qr "${__cdist_remote_user}@${__cdist_target_host}:$2" \ "${3%/*}" else __cdist_exit_err "Unknown action $1" fi }