X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=scripts%2Fvesync;h=87203459ad6bd3b3ffd4001bb82c4c3295a194a1;hb=c12c379de8a485d90d8a8ad06ece0753da6ef23d;hp=6418239b9b8c1ab9f8bba929678eb6e12271d1a5;hpb=3597c75084e7f41d64bc251e20ef5d33bb09ea06;p=util-vserver.git diff --git a/scripts/vesync b/scripts/vesync index 6418239..8720345 100755 --- a/scripts/vesync +++ b/scripts/vesync @@ -60,12 +60,21 @@ while true; do (--version) showVersion ;; (--debug) send_through=( "${send_through[@]}" "$1" ); set -x;; (--quiet|-q) send_through=( "${send_through[@]}" "$1" );; - (--all) vsomething_opts=( "${vsomething_opts[@]}" "$1" );; (--overlay) overlay="${2%/}";; (--overlay-host) overlay_host="${2%/}";; (--overlay-only) overlay_only=1;; - (--) shift; break;; - (*) echo $"vesync: internal error; arg=='$1'" >&2; exit 1;; + (--) test ${#vsomething_opts[@]} -eq 0 && shift; break;; + (*) vsomething_opts=( "${vsomething_opts[@]}" "$1" );; + esac + shift +done + +declare -a vserver_names + +while [ $# -gt 0 ]; do + case "$1" in + (--) shift; break;; + (*) vserver_names=( "${vserver_names[@]}" "$1" );; esac shift done @@ -75,17 +84,15 @@ VSOMETHING_PKGMGMT=1 export VSOMETHING_TITLE VSOMETHING_PKGMGMT -test ${#vsomething_opts[@]} -eq 0 || vsomething_opts=( "${vsomething_opts[@]}" -- ) - ret=0 test $overlay_only -eq 0 && \ - $_VSOMETHING "${send_through[@]}" emerge "${vsomething_opts[@]}" --metadata + $_VSOMETHING "${send_through[@]}" emerge "${vsomething_opts[@]}" "${vserver_names[@]}" -- --metadata ret=$? test -n "$overlay" -a -n "$overlay_host" && \ - $_VSOMETHING "${send_through[@]}" rsync "${vsomething_opts[@]}" \ + $_VSOMETHING "${send_through[@]}" rsync "${vsomething_opts[@]}" "${vserver_names[@]}" -- \ -rtW --progress --delete --delete-after "${overlay_host}/" "${overlay}/" test $? -eq 0 -a $ret -eq 0