}
# Rsync files to the guest
-function kvmx_rsync {
+function kvmx_rsync_to {
if ! kvmx_running; then
echo "$BASENAME: guest $VM is not running"
exit 1
ORIG="$3"
DEST="$4"
+
+ # Fix ~/ path
+ if echo $DEST | grep -q -e "^$HOME"; then
+ DEST="$(echo $DEST | sed -e "s|^$HOME|/home/$SSH_LOGIN|")"
+ fi
+
+ SSH="`cat $SSHFILE`"
+ rsync -av --delete -e "$SSH_COMMAND -o Port=$SSH" --rsync-path "sudo rsync" $ORIG/ 127.0.0.1:$DEST/
+}
+
+# Rsync files to the guest
+function kvmx_rsync_from {
+ if ! kvmx_running; then
+ echo "$BASENAME: guest $VM is not running"
+ exit 1
+ fi
+
+ ORIG="$3"
+ DEST="$4"
+
+ # Fix ~/ path
+ if echo $ORIG | grep -q -e "^$HOME"; then
+ ORIG="$(echo $ORIG | sed -e "s|^$HOME|/home/$SSH_LOGIN|")"
+ fi
+
SSH="`cat $SSHFILE`"
- rsync -av -e "$SSH_COMMAND -o Port=$SSH" --rsync-path "sudo rsync" $ORIG/ 127.0.0.1:$DEST/
+ rsync -av --delete -e "$SSH_COMMAND -o Port=$SSH" --rsync-path "sudo rsync" 127.0.0.1:$ORIG/ $DEST/
}
# Copy files from the guest
DEST="/usr/local/share/kvmx/provision/"
echo "sudo mkdir -p `dirname $DEST`" | kvmx_ssh
- rsync -av -e "$SSH_COMMAND -o Port=$SSH" $provision_rsync_opts --rsync-path "sudo rsync" $ORIG/ 127.0.0.1:$DEST/
+ rsync -av --delete -e "$SSH_COMMAND -o Port=$SSH" $provision_rsync_opts --rsync-path "sudo rsync" $ORIG/ 127.0.0.1:$DEST/
if [ ! -z "$provision_rsync" ]; then
ORIG="`echo $provision_rsync | cut -d ' ' -f 1`"