]> gitweb.fluxo.info Git - kvmx.git/commitdiff
Replace kvmx_rsync with kvmx_rsync_from and kvmx_rsync_to
authorSilvio Rhatto <rhatto@riseup.net>
Fri, 22 Sep 2017 10:57:49 +0000 (07:57 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Fri, 22 Sep 2017 10:57:49 +0000 (07:57 -0300)
kvmx

diff --git a/kvmx b/kvmx
index cee2c768237141b6ae0cbc344d1a124a993ae179..5bbaa76bc07dc90e03762dfba51def61834ae167 100755 (executable)
--- a/kvmx
+++ b/kvmx
@@ -609,7 +609,7 @@ function kvmx_reboot {
 }
 
 # 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
@@ -617,8 +617,33 @@ function kvmx_rsync {
 
   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
@@ -881,7 +906,7 @@ function kvmx_provision {
   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`"